Ant Design Mobile DatePicker 报错 defaultValue will not work on controlled Field
Ant Design About 1,301 words错误信息
[antd-mobile: Form.Item]
defaultValuewill not work on controlled Field. You should useinitialValuesof Form instead.
错误原因
在DatePicker上定义的defaultValue不会受React的useState控制。
const [date, setDate] = useState(new Date);
<Form layout='vertical'>
<Form.Item
name='date'
label='日期'
trigger='onConfirm'
onClick={(e, datePickerRef: RefObject<DatePickerRef>) => {
datePickerRef.current?.open()
}}
>
<DatePicker value={date} defaultValue={date}>
{
value => {
setDate(value);
return formatDate(value);
}
}
</DatePicker>
</Form.Item>
</Form>
解决
在Form.Item上定义initialValue并传入useState定义的变量。
const [date, setDate] = useState(new Date);
<Form layout='vertical'>
<Form.Item
name='date'
label='日期'
trigger='onConfirm'
onClick={(e, datePickerRef: RefObject<DatePickerRef>) => {
datePickerRef.current?.open()
}}
initialValue={date}
>
<DatePicker value={date}>
{
value => {
setDate(value);
return formatDate(value);
}
}
</DatePicker>
</Form.Item>
</Form>
Views: 14 · Posted: 2025-11-15
————        END        ————
Give me a Star, Thanks:)
https://github.com/fendoudebb/LiteNote扫描下方二维码关注公众号和小程序↓↓↓
Loading...