From ba438199cfb165e6651575caf7f28768ddb80ff8 Mon Sep 17 00:00:00 2001 From: Wang Zhuoxuan Date: Fri, 24 Apr 2026 19:12:14 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=20CategoryFormDialog?= =?UTF-8?q?=20TypeScript=20=E7=B1=BB=E5=9E=8B=E6=94=B6=E7=AA=84=E5=AF=BC?= =?UTF-8?q?=E8=87=B4=E7=9A=84=E6=9E=84=E5=BB=BA=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将 category?.slug 提取为独立变量 currentSlug,避免 TypeScript 在 if (!isEditing) 分支内将 category 收窄为 never 类型。 --- src/components/category/CategoryFormDialog.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/components/category/CategoryFormDialog.tsx b/src/components/category/CategoryFormDialog.tsx index 48c4891..dc4c251 100644 --- a/src/components/category/CategoryFormDialog.tsx +++ b/src/components/category/CategoryFormDialog.tsx @@ -72,6 +72,7 @@ export function CategoryFormDialog({ onSubmit, }: CategoryFormDialogProps) { const isEditing = !!category + const currentSlug = category?.slug const { register, @@ -126,7 +127,7 @@ export function CategoryFormDialog({ {...register("name", { onChange: (e: React.ChangeEvent) => { if (!isEditing) { - setValue("slug", generateUniqueSlug(e.target.value, existingSlugs, category?.slug), { + setValue("slug", generateUniqueSlug(e.target.value, existingSlugs, currentSlug), { shouldValidate: true, }) }