From 03f410601a6df407414a8966b85e73850c8e87e4 Mon Sep 17 00:00:00 2001 From: imeepos Date: Tue, 15 Jul 2025 13:55:10 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=A8=A1=E6=9D=BF=E7=BB=91=E5=AE=9A?= =?UTF-8?q?=E6=89=B9=E9=87=8F=E5=88=A0=E9=99=A4=E5=90=8E=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E5=88=B7=E6=96=B0=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在ProjectDetails页面中修改批量删除回调,删除成功后自动重新获取模板绑定列表 - 简化store中batchDeleteBindings的实现,移除复杂的本地状态更新逻辑 - 确保批量删除操作完成后UI显示最新的数据状态 - 保持与单个删除操作一致的刷新机制 - 删除操作完成后清空选中状态,提升用户体验 --- apps/desktop/src/pages/ProjectDetails.tsx | 8 +++++++- apps/desktop/src/stores/projectTemplateBindingStore.ts | 9 +++------ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/apps/desktop/src/pages/ProjectDetails.tsx b/apps/desktop/src/pages/ProjectDetails.tsx index e325aa4..c54913b 100644 --- a/apps/desktop/src/pages/ProjectDetails.tsx +++ b/apps/desktop/src/pages/ProjectDetails.tsx @@ -614,7 +614,13 @@ export const ProjectDetails: React.FC = () => { onAdd={handleAddBinding} onEdit={handleEditBinding} onDelete={handleDeleteBinding} - onBatchDelete={(ids) => bindingActions.batchDeleteBindings(ids)} + onBatchDelete={async (ids) => { + await bindingActions.batchDeleteBindings(ids); + // 删除成功后重新获取项目的模板绑定列表 + if (project) { + await bindingActions.fetchTemplatesByProject(project.id); + } + }} onToggleStatus={handleToggleBindingStatus} onSetPrimary={handleSetPrimaryTemplate} searchQuery={bindingFilters.search || ''} diff --git a/apps/desktop/src/stores/projectTemplateBindingStore.ts b/apps/desktop/src/stores/projectTemplateBindingStore.ts index d80fe94..e9b5c66 100644 --- a/apps/desktop/src/stores/projectTemplateBindingStore.ts +++ b/apps/desktop/src/stores/projectTemplateBindingStore.ts @@ -240,12 +240,9 @@ export const useProjectTemplateBindingStore = create !ids.includes(binding.id)), - selectedBindingIds: [], - loading: false - }); + + // 清空选中状态 + set({ selectedBindingIds: [], loading: false }); } catch (error) { console.error('Store: 批量删除失败:', error); set({