Bladeren bron

✨ feat(manage-page): add delete confirmation functionality

- 添加删除确认对话框状态码检查逻辑
- 实现confirmDelete异步函数处理删除请求
- 添加204状态码验证确保删除成功
- 优化删除成功后的用户反馈和数据刷新

📝 docs(manage-page): improve code comments

- 更新创建表单注释为"创建表单(独立渲染)"
- 更新编辑表单注释为"编辑表单(独立渲染)"
- 添加删除功能注释说明状态码处理逻辑
yourname 4 maanden geleden
bovenliggende
commit
2c3a90bbf1
1 gewijzigde bestanden met toevoegingen van 23 en 2 verwijderingen
  1. 23 2
      .roo/commands/shadcn-manage-page.md

+ 23 - 2
.roo/commands/shadcn-manage-page.md

@@ -210,7 +210,7 @@ const updateForm = useForm<UpdateRequest>({
     </DialogHeader>
     
     {isCreateForm ? (
-      // 创建表单
+      // 创建表单(独立渲染)
       <Form {...createForm}>
         <form onSubmit={createForm.handleSubmit(handleCreateSubmit)} className="space-y-4">
           {/* 创建专用字段 */}
@@ -223,7 +223,7 @@ const updateForm = useForm<UpdateRequest>({
         </form>
       </Form>
     ) : (
-      // 编辑表单
+      // 编辑表单(独立渲染)
       <Form {...updateForm}>
         <form onSubmit={updateForm.handleSubmit(handleUpdateSubmit)} className="space-y-4">
           {/* 编辑专用字段 */}
@@ -390,6 +390,27 @@ const [entityToDelete, setEntityToDelete] = useState<number | null>(null);
     </DialogFooter>
   </DialogContent>
 </Dialog>
+
+// 删除成功状态码为204
+const confirmDelete = async () => {
+  if (!entityToDelete) return;
+  
+  try {
+    const res = await entityClient[':id']['$delete']({
+      param: { id: entityToDelete.toString() }
+    });
+    
+    if (res.status === 204) {
+      toast.success('删除成功');
+      setDeleteDialogOpen(false);
+      refetch(); // 刷新数据
+    } else {
+      throw new Error('删除失败');
+    }
+  } catch (error) {
+    toast.error('删除失败,请重试');
+  }
+};
 ```
 
 ## 样式规范