0.3.1.2
This commit is contained in:
@@ -237,7 +237,32 @@ function FamilyProviderInner({ children }: { children: React.ReactNode }) {
|
||||
|
||||
const data = await response.json()
|
||||
|
||||
// 更新本地状态
|
||||
// 由于后端会维护双向关系,需要重新加载所有成员以保持数据一致性
|
||||
// 特别是当修改了关系字段(spouseIds, childrenIds, fatherId, motherId)时
|
||||
const hasRelationshipChanges =
|
||||
updates.spouseIds !== undefined ||
|
||||
updates.childrenIds !== undefined ||
|
||||
updates.fatherId !== undefined ||
|
||||
updates.motherId !== undefined
|
||||
|
||||
if (hasRelationshipChanges) {
|
||||
// 重新加载所有成员数据以同步双向关系
|
||||
const membersResponse = await fetch(`/api/trees/${currentTree.id}/members`)
|
||||
if (membersResponse.ok) {
|
||||
const membersData = await membersResponse.json()
|
||||
const membersMap: Record<string, FamilyMember> = {}
|
||||
membersData.members.forEach((m: FamilyMember) => {
|
||||
membersMap[m.id] = m
|
||||
})
|
||||
setTreeData(prev => ({
|
||||
...prev,
|
||||
members: membersMap,
|
||||
}))
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
// 如果没有关系变更,只更新当前成员
|
||||
setTreeData(prev => ({
|
||||
...prev,
|
||||
members: {
|
||||
|
||||
Reference in New Issue
Block a user