From dd71625f52d2342bb69ea145df9c23231c00199d Mon Sep 17 00:00:00 2001 From: HyaCinth <88471803+HyaCiovo@users.noreply.github.com> Date: Tue, 30 Sep 2025 23:22:43 +0800 Subject: [PATCH] fix(datasets): Resolve issue where selected list is not updated when deleting a single file (#26502) --- web/app/components/datasets/documents/list.tsx | 2 ++ .../components/datasets/documents/operations.tsx | 15 +++++++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/web/app/components/datasets/documents/list.tsx b/web/app/components/datasets/documents/list.tsx index f850e1870a..9659925b3a 100644 --- a/web/app/components/datasets/documents/list.tsx +++ b/web/app/components/datasets/documents/list.tsx @@ -418,6 +418,8 @@ const DocumentList: FC = ({ void datasetId: string onUpdate: (operationName?: string) => void scene?: 'list' | 'detail' @@ -60,6 +62,8 @@ const Operations = ({ embeddingAvailable, datasetId, detail, + selectedIds, + onSelectedIdChange, onUpdate, scene = 'list', className = '', @@ -116,17 +120,20 @@ const Operations = ({ const [e] = await asyncRunSafe(opApi({ datasetId, documentId: id }) as Promise) if (!e) { notify({ type: 'success', message: t('common.actionMsg.modifiedSuccessfully') }) + // If it is a delete operation, need to update the selectedIds state + if (selectedIds && onSelectedIdChange && operationName === DocumentActionType.delete) + onSelectedIdChange(selectedIds.filter(selectedId => selectedId !== id)) onUpdate(operationName) } else { notify({ type: 'error', message: t('common.actionMsg.modifiedUnsuccessfully') }) } - if (operationName === 'delete') + if (operationName === DocumentActionType.delete) setDeleting(false) } const { run: handleSwitch } = useDebounceFn((operationName: OperationName) => { - if (operationName === 'enable' && enabled) + if (operationName === DocumentActionType.enable && enabled) return - if (operationName === 'disable' && !enabled) + if (operationName === DocumentActionType.disable && !enabled) return onOperate(operationName) }, { wait: 500 })