image-upload.md 1.6 KB

ImageUpload 图片上传

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

基础用法

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

Props

属性 类型 默认值 说明
modelValue String/Array '' v-model 绑定值
action String '/api/file/upload' 上传地址
businessType String 'image' 业务类型
limit Number 5 图片数量限制
fileSize Number 5 大小限制 (MB)
fileType Array ['png','jpg','jpeg','webp','gif'] 图片类型
multiple Boolean true 多选
showTip Boolean true 显示提示
disabled Boolean false 禁用
valueType String 'string' 返回值类型:string/array

事件

事件 参数 说明
success fileData 上传成功
error error 上传失败
remove file 删除图片

方法

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

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

示例

<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>