fix: 修复选择审批人后抄送人消失的问题

- 使用 useRef 防止默认审批人/抄送人数据重复加载
- 确保从选择页面返回时,另一类型的数据不受影响

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
root
2026-02-25 18:57:56 +08:00
parent 3968e94195
commit ee931e49b7
2 changed files with 13 additions and 3 deletions
+6 -1
View File
@@ -87,7 +87,11 @@ export default function BusinessTripApply() {
const hasRestoredRef = useRef(false)
// 加载默认审批人和抄送人(仅在首次加载且没有草稿数据时)
const defaultLoadedRef = useRef(false)
useEffect(() => {
// 防止重复加载
if (defaultLoadedRef.current) return
const loadDefaultApprovers = async () => {
// 如果已经有存储的草稿数据,不加载默认值
if (sessionStorage.getItem('businessTripDraft')) {
@@ -112,13 +116,14 @@ export default function BusinessTripApply() {
setCcUsers(defaultData.cc_users)
sessionStorage.setItem('selectedCc', JSON.stringify(defaultData.cc_users))
}
defaultLoadedRef.current = true
} catch (error) {
console.error('Failed to load default approvers:', error)
}
}
loadDefaultApprovers()
}, [])
}, [location.state?.fromSelection])
// 处理从选择页面返回的数据和草稿恢复
useEffect(() => {