Skip to content

上传组件

文件上传和图片上传组件。

导入使用

typescript
import { FileUpload, ImageUpload } from '#/components/upload';

基本使用

vue
<template>
  <!-- 图片上传 -->
  <ImageUpload v-model:value="imageIds" :max-count="5" />
  
  <!-- 文件上传 -->
  <FileUpload v-model:value="fileIds" :max-count="3" accept=".pdf,.doc" />
</template>

配置项

属性说明类型默认值
v-model:value绑定值(ossId)string | string[]-
maxCount最大上传数量number1
maxSize文件最大大小(MB)number5
accept可接受文件类型string-
multiple是否支持多选booleanfalse
disabled是否禁用booleanfalse
helpMessage是否显示提示booleantrue
removeConfirm删除前确认booleanfalse

注意事项

绑定值类型

  • maxCount=1 时,绑定值为 string
  • maxCount>1 时,绑定值为 string[]

string/string[] 转换

后端返回 string,string,string 格式时:

typescript
// 赋值前转换
formApi.setFieldValue('images', record.images.split(','));

// 提交前转换
const data = cloneDeep(await formApi.getValues());
data.images = data.images.join(',');

预览自定义

vue
<FileUpload
  :preview="(file) => {
    // 自定义预览逻辑,如下载
    window.open(file.url);
  }"
/>

相关文档

贡献者

The avatar of contributor named as dubai dubai

页面历史

基于 MIT 许可发布.