Skip to content

ImageUpload 图片上传

图片上传组件,支持图片预览、多图上传、大小限制。

基础用法

vue
<template>
  <ImageUpload 
    v-model="imageList" 
    :limit="5"
    :file-size="5"
  />
</template>

Props

属性类型默认值说明
modelValueString/Array''v-model 绑定值
actionString'/api/file/upload'上传地址
businessTypeString'image'业务类型
limitNumber5图片数量限制
fileSizeNumber5大小限制 (MB)
fileTypeArray['png','jpg','jpeg','webp','gif']图片类型
multipleBooleantrue多选
showTipBooleantrue显示提示
disabledBooleanfalse禁用
valueTypeString'string'返回值类型:string/array

事件

事件参数说明
successfileData上传成功
errorerror上传失败
removefile删除图片

方法

js
// 手动提交
imageUploadRef.value.submit()

// 清空图片
imageUploadRef.value.clear()

示例

vue
<script setup>
import { ref } from 'vue'
import ImageUpload from '@/components/image-upload/index.vue'

const formData = ref({
  avatar: '',
  images: []
})
</script>

<template>
  <!-- 单图 -->
  <n-form-item label="头像">
    <ImageUpload 
      v-model="formData.avatar" 
      :limit="1"
    />
  </n-form-item>
  
  <!-- 多图 -->
  <n-form-item label="相册">
    <ImageUpload 
      v-model="formData.images"
      :limit="9"
      value-type="array"
    />
  </n-form-item>
</template>