diff --git a/src/components/Upload/src/BasicUpload.vue b/src/components/Upload/src/BasicUpload.vue index 8857da97a61df3ecc6e97a7e6f0221fe062f0441..36a8a93e951826aad39806a5ce21167ac98e2fb7 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 dca152ab1a1f1e5e616583a16f871df3d89e0222..aa04a48286ce701dc485da99fd53cef2fc6f4057 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)