在antd Select中设置初始值时遇到问题
const options=[{name:'john',id:1},{name:'jack',id:2},{name:'jill',id:3}]
<Form initialValues={{user:3}}>
<Form.Item name="user" label="Select user">
<Select value="3">
{options.map((user,index)=><Option key={index} value={user.id}>{user.name}</Option>)}
</Select>
</Form.Item>
</Form>
它不是选择初始值。这里面有什么想法吗。这是正确的实现方式吗,请帮助
2条答案
按热度按时间dffbzjpn1#
下面是在Antd表单中选择组件的一个简单演示我想知道选项是来自商店还是其他组件?因此表单在挂载后不会获得初始值。如果它来自其他源,则需要订阅初始值,以便在更改后重置Antd表单,如
igsr9ssn2#
我在ant design 4中使用了这个方法。如果只需要设置一次值,请使用defaultValue并传递一个字符串prop
但是,您可以使用useEffect中的form. setFields Value设置当前值和选项的值。
例如:
注意:直接使用props而不是fieldValue作为选项