diff --git a/src/components/Upload/src/UploadModal.vue b/src/components/Upload/src/UploadModal.vue index 7e8c9f73294df65e4908a6b0f7051f9110e9c9a6..dd0f460db72152afeb501bfb1774df863ce9cd11 100644 --- a/src/components/Upload/src/UploadModal.vue +++ b/src/components/Upload/src/UploadModal.vue @@ -31,6 +31,7 @@ :accept="getStringAccept" :multiple="multiple" :before-upload="beforeUpload" + :directory="directory" :show-upload-list="false" class="upload-modal-toolbar__btn" > @@ -65,7 +66,7 @@ props: uploadProps, emits: ['change', 'register', 'delete'], setup(props, { emit }) { - const { uploadType, accept, helpText, maxNumber, maxSize } = toRefs(props); + const { uploadType, accept, helpText, maxNumber, maxSize, directory } = toRefs(props); const { t } = useI18n(); const [register, { closeModal }] = useModalInner(); const fileItemList = ref([]); @@ -104,8 +105,8 @@ return uploading.value ? t('component.upload.uploading') : someError - ? t('component.upload.reUploadFailed') - : t('component.upload.startUpload'); + ? t('component.upload.reUploadFailed') + : t('component.upload.startUpload'); }); // 上传前校验 @@ -148,7 +149,7 @@ function addFileItem(record: FileItem) { const { maxNumber } = props; - if ((fileItemList.value.length + (props.previewFileList?.length || 0)) >= maxNumber) { + if (fileItemList.value.length + (props.previewFileList?.length || 0) >= maxNumber) { createMessage.warning(t('component.upload.maxNumber', [maxNumber])); return; } @@ -273,6 +274,7 @@ } return { + directory, columns: createTableColumns() as any[], actionColumn: createActionColumn(handleRemove) as any, register, diff --git a/src/components/Upload/src/props.ts b/src/components/Upload/src/props.ts index 108923e788a88cd733b9e874ec12c8d543d2075d..67cf2d42f158f220a6b0be10a96777fd3d30950e 100644 --- a/src/components/Upload/src/props.ts +++ b/src/components/Upload/src/props.ts @@ -95,6 +95,11 @@ export const basicProps = { type: String as PropType, default: '', }, + //支持上传文件夹(caniuse) + directory: { + type: Boolean as PropType, + default: false, + }, }; export const uploadContainerProps = {