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 })