From e62130ef17cc41b50bb1cd50034828c65aa4e108 Mon Sep 17 00:00:00 2001 From: chenxi-20 <76168465+chenxi-20@users.noreply.github.com> Date: Fri, 31 Mar 2023 14:31:12 +0800 Subject: [PATCH] =?UTF-8?q?fix(upload):=20=E5=8F=96=E6=B6=88fileupload?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E7=9A=84=E8=87=AA=E5=8A=A8=E9=9A=90=E8=97=8F?= =?UTF-8?q?=E5=92=8C=E6=8F=90=E7=A4=BA=E5=8A=9F=E8=83=BD=EF=BC=8C=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E6=88=90=E7=94=A8=E6=88=B7=E5=8F=AF=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89=E9=85=8D=E7=BD=AE=20(#95)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pc/demo/file-upload/max-file-count.vue | 6 ++++-- packages/renderless/src/upload/index.ts | 14 +++----------- packages/vue/src/file-upload/src/pc.vue | 6 ++++-- packages/vue/src/upload/src/index.vue | 11 ++++++++--- 4 files changed, 19 insertions(+), 18 deletions(-) diff --git a/examples/docs/resources/pc/demo/file-upload/max-file-count.vue b/examples/docs/resources/pc/demo/file-upload/max-file-count.vue index 260be3534..a74a47366 100644 --- a/examples/docs/resources/pc/demo/file-upload/max-file-count.vue +++ b/examples/docs/resources/pc/demo/file-upload/max-file-count.vue @@ -1,6 +1,8 @@ diff --git a/packages/renderless/src/upload/index.ts b/packages/renderless/src/upload/index.ts index f53cfd885..012992857 100644 --- a/packages/renderless/src/upload/index.ts +++ b/packages/renderless/src/upload/index.ts @@ -56,17 +56,9 @@ export const getFormData = ({ constants, state, parent, props }) => ({ formData, export const uploadFiles = ({ state, constants, Modal, props, t }) => (files) => { const { limit, fileList } = props - if (limit) { - const fileCount = fileList.length + files.length - if (fileCount > limit) { - props.onExceed && props.onExceed(files, fileList) - return - } else if (fileCount === limit) { - Modal.message({ - message: `${t('ui.upload.limitUploadFileNumber')}:${limit}`, - status: 'info' - }) - } + if (limit && fileList.length + files.length > limit) { + props.onExceed && props.onExceed(files, fileList) + return } let postFiles = Array.prototype.slice.call(files) diff --git a/packages/vue/src/file-upload/src/pc.vue b/packages/vue/src/file-upload/src/pc.vue index 789cc4aae..8b21397ff 100644 --- a/packages/vue/src/file-upload/src/pc.vue +++ b/packages/vue/src/file-upload/src/pc.vue @@ -55,7 +55,8 @@ export default defineComponent({ 'isFolderTitle', 'plugin', 'listOption', - 'maxNameLength' + 'maxNameLength', + 'isHidden' ], setup(props, context) { return setup({ props, context, renderless, api, extendOptions: { Modal } }) @@ -209,7 +210,8 @@ export default defineComponent({ onPreview: preview, httpRequest, isFolder, - edmToken + edmToken, + isHidden: this.isHidden }, ref: 'upload-inner' } diff --git a/packages/vue/src/upload/src/index.vue b/packages/vue/src/upload/src/index.vue index e49af4080..2fac294ed 100644 --- a/packages/vue/src/upload/src/index.vue +++ b/packages/vue/src/upload/src/index.vue @@ -67,7 +67,11 @@ export default defineComponent({ onSuccess: Function, size: String, type: String, - withCredentials: Boolean + withCredentials: Boolean, + isHidden: { + type: Boolean, + default: false + } }, setup(props, context) { return setup({ @@ -94,12 +98,13 @@ export default defineComponent({ name, uploadFiles, fileList, - limit + limit, + isHidden } = this const defaultSlot = (this.slots.default && this.slots.default()) || [] - const hidden = fileList.length >= limit + const hidden = isHidden && fileList.length >= limit return (