javascript - 反应 | 蚂蚁设计选择默认值
问题描述
我在我的项目中使用蚂蚁设计。
在这里,我有一个选择作为动态字段。当我尝试为选择设置默认值时。它不起作用。
<Select defaultValue="lucy">
<Option value="jack">Jack</Option>
<Option value="lucy">Lucy</Option>
<Option value="Yiminghe">yiminghe</Option>
</Select>
我将默认值设置为lucy
但它不起作用
解决方案
根据文档,您不应该使用value
or defaultValue
with getFieldDecorator
。
被getFieldDecorator包裹后,表单控件中会添加value(或valuePropName定义的其他属性)onChange(或trigger定义的其他属性)props,表单数据的流动将由Form处理,这将导致:
你不应该使用 onChange 来收集数据,但你仍然可以监听 onChange(等等) 事件。
您不能通过 value defaultValue 属性设置表单控件的值,而应该在 getFieldDecorator 中使用 initialValue 设置默认值。
您不应该手动调用 setState,请使用 this.props.form.setFieldsValue 以编程方式更改值。
因此,在您的代码中,您需要定义initialValue
而不是defaultValue
如下所示:
{getFieldDecorator(`names[${k}]`, {
validateTrigger: ["onChange", "onBlur"],
initialValue: "lucy",
rules: [
{
required: true,
whitespace: true,
message: "Please input passenger's name or delete this field."
}
]
})(
<Select>
<Option value="jack">Jack</Option>
<Option value="lucy">Lucy</Option>
<Option value="Yiminghe">yiminghe</Option>
</Select>
)}
您可以在codesandbox.io上查看工作演示。
推荐阅读
- sql - 删除 id 存在多次但保留最新日期戳的记录的行
- javascript - docx 文件在从后端服务器下载时损坏
- google-sheets - 谷歌表拆分和剥离
- c++ - (Q. 有点小错误所以请检查正文) C float *q=NULL; printf("%f",q) ; 输出为 0.000000 但在 C++ 中 float *q=nullptr; cout<
[我的问题有点奇怪,但现在更改它是不对的,因为它得到了很好的解释,但我正在使用 [Update].......[Update End] 标签对其进行编辑,以避免对即将访问我的访问者造成混
- javascript - JavaScript 比较和逻辑运算符
- python - Databricks 在线程“main”java.lang.NoSuchMethodError 中连接到 IntelliJ + python 错误异常:
- python - 如何将word2vec模型保存到redis?
- mysql - Node.js 和 mysql。插入本地数据库
- rust - 带有 .collect() 的 for 循环无法推断类型
- c - 将 gotoxy 用于带有换行符的 printf