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