From 095667fc7a516ccb22faa0ae9dac36bff1f26305 Mon Sep 17 00:00:00 2001 From: selfrelease Date: Mon, 31 Aug 2026 15:27:41 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=88=A0=E9=99=A4=E7=94=BB=E5=83=8F?= =?UTF-8?q?=E7=89=B9=E5=BE=81=E5=A2=9E=E5=8A=A0=E4=BA=8C=E6=AC=A1=E7=A1=AE?= =?UTF-8?q?=E8=AE=A4=E5=BC=B9=E7=AA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web2/src/pages/MyProfile.tsx | 34 ++++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/web2/src/pages/MyProfile.tsx b/web2/src/pages/MyProfile.tsx index be29485..b74a931 100644 --- a/web2/src/pages/MyProfile.tsx +++ b/web2/src/pages/MyProfile.tsx @@ -435,6 +435,7 @@ export function MyProfile() { const [addingFact, setAddingFact] = useState(false) const [newFactKey, setNewFactKey] = useState('') const [newFactValue, setNewFactValue] = useState('') + const [deletingFact, setDeletingFact] = useState<{ key: string; label: string } | null>(null) const load = useCallback(async () => { setLoading(true) @@ -495,15 +496,20 @@ export function MyProfile() { } } - /** 删除画像特征 */ - const handleDeleteFact = async (key: string) => { - if (!profile) return + /** 删除画像特征(确认后执行) */ + const handleDeleteFact = (key: string, label: string) => { + setDeletingFact({ key, label }) + } + + /** 确认删除 */ + const confirmDeleteFact = async () => { + if (!deletingFact || !profile) return try { - // 通过更新空值来删除 const newFacts = { ...profile.key_facts } - delete newFacts[key] + delete newFacts[deletingFact.key] await api.updateProfile({ key_facts: newFacts }) setProfile((prev) => prev ? { ...prev, key_facts: newFacts } : prev) + setDeletingFact(null) } catch (e) { setError(e instanceof Error ? e.message : '删除失败') } @@ -687,7 +693,7 @@ export function MyProfile() { + + + + ) }