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() { + + + + ) }