Skip to content

upload

文件、图片上传,文件空间。

参数

参数说明类型可选值默认值
modelValue图片地址string, array
accept文件类型string
type类型stringimage / fileimage
multiple是否多图上传booleanfalse
limit最大上传数量number9
limitSize最大上传大小number100
size组件大小number, string, array120
text文案string选择文件
showFileList是否显示上传图片列表booleantrue
draggable是否可拖拽booleanfalse
disabled是否禁用booleanfalse
customClass自定义样式名string
beforeUpload上传前function(file, item)

插槽

插槽说明
default选择上传区域
item上传列表的每一项

基础用法

html
<cl-upload v-model="urls" />

多图上传

配置 multiple

html
<cl-upload v-model="urls" multiple />

文件上传

配置 typefile

html
<cl-upload v-model="urls" multiple text="文件上传" type="file" />

可拖拽

配置 draggablemultiple

html
<cl-upload v-model="urls" draggable multiple />

自定义内容

html
<cl-upload type="file" multiple custom-class="custom-upload">
  <el-button :icon="Upload">上传</el-button>

  <template #item="{ item }">
    <div class="item" v-show="item.url">{{ item.url }}</div>
  </template>
</cl-upload>

自定义大小

配置 size

html
<cl-upload text="选择图片" :size="[120, 200]" />

上传校验

配置 onBeforeUpload,返回 boolean 或者 Promise

html
<cl-upload :before-upload="onBeforeUpload" />
ts
function onBeforeUpload(file: any, item: any) {
  ElMessage.warning("文件检测中");

  return new Promise((resolve) => {
    setTimeout(() => {
      ElMessage.success("文件检测通过");

      resolve(true);
    }, 2000);
  });
}

文件空间

  • 在文件空间中选择
html
<cl-upload is-space />
  • 打开文件空间
html
<cl-upload-space />