Skip to content

文件上传


image

介绍

基本表单组件,用于用户选择文件上传。

API

Props


Props 属性

参数说明类型默认值
默认状态组件的状态, "默认"|"禁用"|"隐藏"|"只读"string'default'
标题组件的标题文案string'输入框'
显示标题是否显示标题booleantrue
字段占比组件宽度在父容器中的占比,"25%"|"50%"|"75%"|"100%"string'100%'
默认值组件的默认值类型string[] | {name: string; url: string}[][]
数据字段表单字段名string"UPLOAD_FILE_随机八位字符"
API绑定上传api,左侧接口列表配置string-
拖拽文件是否拖拽上传booleanfalse
拖拽提示信息拖拽上传模式下的提示信息string-
按钮内容上传按钮文案string点击上传
按钮类型主要按钮 | 次要按钮 | 线框按钮string次要按钮
多选文件是否可多选booleanfalse
上传文件名上传接口传参名称stringfiles
额外数据上传接口body中的额外参数object{}
头部信息上传接口header中的额外参数object{}
上传后处理返回上传的url地址数组数据Array{}
最大上传文件个数最大上传文件个数number6
单文件最大上传大小(MB)单文件最大上传大小number20
是否允许请求cookie是否允许请求cookiebooleanfalse
上传文件类型上传文件类型string-

注意

如果文件上传的接口不返回数组或字符串数组,而是返回一个 url 字符串,则应在上传后处理属性中对返回的数据进行如下处理:

js
function didUpload(response, ctx, loopData) {
  // 返回上传的url地址数组数据
  return [{
    url: response,
    status: "done"
  }];
}

Props 样式

参数说明类型默认值
盒子模型属性设置设置组件的盒子模型相关的各项样式属性值,包括margin、border、padding--

Props 高级

参数说明类型默认值
唯一标识组件的唯一标识string-
默认值数据格式默认 | 对象数组stringdefault
补充说明表单项底部的说明文字string''
气泡提醒组件旁边图标悬浮显示的说明性文字string-
必填未输入内容时校验不通过booleanfalse
自定义函数自定义校验函数,可配置校验规则与校验提示内容booleanfalse
循环循环渲染设置--

Events


Events 属性

事件名说明回调参数
onSuccess上传成功时触发ctx, {fileItem: 文件对象}, loopDataList: LoopData[]
onError上传失败时触发ctx, {fileItem: 文件对象}, loopDataList: LoopData[]
onChange上传的文件状态发生改变时触发ctx, {fileItem: 文件对象, fileList: 文件列表}, loopDataList: LoopData[]
onExceeLimit上传的文件超出限制后触发ctx, {fileItem: 文件对象, fileList: 文件列表}, loopDataList: LoopData[]
onPreview点击图片预览时触发ctx, {fileItem: 文件对象}, loopDataList: LoopData[]
onProgress上传中的文件进度改变时触发ctx, {fileItem: 文件对象, ev: ProgressEvent}, loopDataList: LoopData[]
onBeforeUpload上传前ctx, file: 文件对象, loopDataList: LoopData[], return [true]
onBeforeRemove移除文件前触发ctx, fileItem: 文件对象, loopDataList: LoopData[], return [true]

Type

LoopData

参数名描述类型
indexName索引变量名string
paramName迭代变量名string
row当前迭代数据元素any
rowIndex当前迭代数据索引any
ref完整循环数组数据ComputedRefImpl<Array>

常见场景配置

设置默认值

上传组件的默认值数据类型与高级栏中默认值数据格式设置有关。默认值数据格式为「默认」时,默认值数据类型为 url 字符串数组;默认值数据格式为「对象数组」时,默认值数据类型为对象数组。 以下是不同默认值数据格式下的默认值配置方式:

  1. 默认值数据格式为「默认」时,默认值配置示例如下:
js
["/bucket/test1.png","/bucket/test2.png"]

  1. 默认值数据格式为「对象数组」时,默认值需具备两个字段:name(文件名称)和 url(文件地址)。默认值配置示例如下:
js
[{
  "url": "/uploadFile",
  "name": "文件1"
  }, 
  {
  "url": "/uploadFile",
  "name": "文件2"
  }
]

  1. 默认值中,若字符串或对象数组的 url 以 http 开头,则上传文件的地址为该 url;否则,上传文件的地址为{当前页面网址}/minio/${url}。具体示例如下:
js
[{
    "url": "https://hisense.com/uploadFile1",
    "name": "文件1"
  },
  {
    "url": "/uploadFile2",
    "name": "文件2"
  }
]

此时文件1的上传地址为https://hisense.com/uploadFile1,文件2的上传地址为{当前页面网址}/minio/uploadFile2