Fix(mcp): reset bulk selection after delete and mode switch (#18073)

This commit is contained in:
euvre
2026-08-11 23:49:26 -07:00
committed by GitHub
parent 6bf51925b3
commit 127ec4408b
2 changed files with 16 additions and 3 deletions

View File

@@ -55,6 +55,7 @@ export default function McpServer() {
handleDelete,
handleExportMcp,
handleSelectAll,
resetSelection,
} = useBulkOperateMCP(data.mcp_servers);
const { t } = useTranslation();
const {
@@ -76,7 +77,8 @@ export default function McpServer() {
const switchSelectionMode = useCallback(() => {
setSelectionMode((prev) => !prev);
}, []);
resetSelection();
}, [resetSelection]);
return (
<ProfileSettingWrapperCard

View File

@@ -27,8 +27,18 @@ export function useBulkOperateMCP(mcpList: IMcpServer[]) {
const { deleteMcpServer } = useDeleteMcpServer();
const { handleExportMcpJson } = useExportMcp();
const handleDelete = useCallback(() => {
deleteMcpServer(selectedList);
const resetSelection = useCallback(() => {
setSelectedList([]);
}, []);
const handleDelete = useCallback(async () => {
const deletedIds = selectedList;
const ret = await deleteMcpServer(deletedIds);
if (ret.code === 0) {
setSelectedList((list) =>
list.filter((id) => !deletedIds.includes(id)),
);
}
}, [deleteMcpServer, selectedList]);
const handleSelectChange = useCallback((id: string, checked: boolean) => {
@@ -66,6 +76,7 @@ export function useBulkOperateMCP(mcpList: IMcpServer[]) {
handleDelete,
handleExportMcp: handleExportMcpJson(selectedList),
handleSelectAll,
resetSelection,
};
}