問題描述:React 項目中,使用antd 4.x版本,文章編輯時,拿到了數據,但卻不回顯

Form表單要回顯數據一般會想到的是initialValues,但是只有初始化以及重置時生效
<Form
name="wrap"
labelCol={{ flex: '70px' }}
colon={false}
form={form}
initialValues={{ title, subTitle }}
>
<Form.Item label="標題:" name="title" rules={[{ required: true,message: '請輸入標題!' }]}>
<Input />
</Form.Item>
<Form.Item label="副標題:" name="subTitle">
<Input />
</Form.Item>
<Form.Item>
<WangEditor content={content} setContent={setContent} />
</Form.Item>
</Form>
使用Hooks,初始化定義title,subTitle,
使用setTtitle,setSubTitle 賦值沒有成功,
原因是:setTitle 和setSubTitle 是異步的

useEffect(() => {
if(params.id) {
lookArticleApi({id:params.id}).then(res => {
console.log(res)
setContent(res.data.content)
setTitle(res.data.title)
setSubTitle(res.data.subTitle)
})
}
},[])
查找 antd 發現:

於是使用form.setFieldsValue來重新獲取值,頁面數據回顯成功
useEffect(() => {
if(params.id) {
lookArticleApi({id:params.id}).then(res => {
console.log(res)
setContent(res.data.content)
// setTitle(res.data.title)
// setSubTitle(res.data.subTitle)
form.setFieldsValue({
title: res.data.title,
subTitle: res.data.subTitle
})
})
}
},
