Ant Design使用<Form.Item>的defaultValue值不能更新的问题
Posted 张志翔ۤ
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ant Design使用<Form.Item>的defaultValue值不能更新的问题相关的知识,希望对你有一定的参考价值。
这个是官方的Bug,改两个东西,一个是在<Form.Item>中加一个唯一key(这个key唯一代表一个组件,名称不能重复),另一个要改的地方是在<Form.Item>下面加一个<input hidden={true} value={defVal} />,defVal是变化值,然后这样它就可以正常刷新这个初始默认值了,代码如下:
<Form.Item
{...field}
name={[field.name, item['param_code']]}
fieldKey={[field.fieldKey, item['param_code']]}
label={`${item['param_name']}:`}
key={field.fieldKey + '_' + item['param_code'] + '_' + defVal}
initialValue={defVal}
>
<InputNumber
defaultValue={defVal}
min={
extension['min'] != null && extension['min'] != 'undefined'
? extension['min']
: extension['default_value']
}
max={extension['max'] ? extension['max'] : extension['default_value']}
style={{ width: 300 }}
step={extension['step'] ? extension['step'] : 1}
/>
<input hidden={true} value={defVal} />
</Form.Item>
<Form.Item
{...field}
name={[field.name, item['param_code']]}
fieldKey={[field.fieldKey, item['param_code']]}
label={`${item['param_name']}:`}
key={field.fieldKey + '_' + item['param_code'] + '_' + defVal}
initialValue={defVal}
>
<Radio.Group defaultValue={defVal == undefined ? false : defVal} style={{ width: 350 }}>
<Radio value={extension['on'] ? extension['on'] : true}>是</Radio>
<Radio value={extension['off'] ? extension['off'] : false}>否</Radio>
</Radio.Group>
<input hidden={true} value={defVal} />
</Form.Item>
到此defaultValue不能更新的问题介绍完成。
以上是关于Ant Design使用<Form.Item>的defaultValue值不能更新的问题的主要内容,如果未能解决你的问题,请参考以下文章
React & Ant-Design 应用 —— Form.item 的 name和rules;为什么设置required不显示
React & Ant-Design 应用 —— Form.item 的 name和rules;为什么设置required不显示