From 49e72a8e76b78fe54e19de9e23d7c72a19427f01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=97=A0=E6=9C=A8?= Date: Wed, 30 Jun 2021 16:35:00 +0800 Subject: [PATCH] feat(basic-upload): add preview-delete event MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 添加预览Modal中删除文件的事件 close: #835 --- src/components/Upload/src/BasicUpload.vue | 8 +++++++- src/components/Upload/src/UploadPreviewModal.vue | 5 +++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/components/Upload/src/BasicUpload.vue b/src/components/Upload/src/BasicUpload.vue index 8857da97a61..36a8a93e951 100644 --- a/src/components/Upload/src/BasicUpload.vue +++ b/src/components/Upload/src/BasicUpload.vue @@ -32,6 +32,7 @@ :value="fileList" @register="registerPreviewModal" @list-change="handlePreviewChange" + @delete="handlePreviewDelete" /> @@ -50,7 +51,7 @@ name: 'BasicUpload', components: { UploadModal, UploadPreviewModal, Icon, Tooltip }, props: uploadContainerProps, - emits: ['change', 'delete'], + emits: ['change', 'delete', 'preview-delete'], setup(props, { emit, attrs }) { const { t } = useI18n(); @@ -97,6 +98,10 @@ emit('delete', record); } + function handlePreviewDelete(url: string) { + emit('preview-delete', url); + } + return { registerUploadModal, openUploadModal, @@ -108,6 +113,7 @@ showPreview, bindValue, handleDelete, + handlePreviewDelete, t, }; }, diff --git a/src/components/Upload/src/UploadPreviewModal.vue b/src/components/Upload/src/UploadPreviewModal.vue index dca152ab1a1..aa04a48286c 100644 --- a/src/components/Upload/src/UploadPreviewModal.vue +++ b/src/components/Upload/src/UploadPreviewModal.vue @@ -24,7 +24,7 @@ export default defineComponent({ components: { BasicModal, FileList }, props: previewProps, - emits: ['list-change', 'register'], + emits: ['list-change', 'register', 'delete'], setup(props, { emit }) { const [register, { closeModal }] = useModalInner(); const { t } = useI18n(); @@ -50,7 +50,8 @@ function handleRemove(record: PreviewFileItem) { const index = fileListRef.value.findIndex((item) => item.url === record.url); if (index !== -1) { - fileListRef.value.splice(index, 1); + const removed = fileListRef.value.splice(index, 1); + emit('delete', removed[0].url); emit( 'list-change', fileListRef.value.map((item) => item.url)