reactjs - 如果未更改默认值,则 antd 表单项验证失败
问题描述
我的 React 组件中有以下antd
表单。默认值来自props,我即将在提交时更改redux store。但是,如果用户不更改输入值并按下“保存”,则验证失败并且在控制台日志中我得到了
util.js:19 async-validator: ["'title' is required"]
<Form name="title" onFinish={this.submitEdit} >
<Form.Item name="title" rules={[{ required: true, message: 'Required field' }]}>
<Input defaultValue={this.props.title} placeholder="Enter entry title"/>
</Form.Item>
<div>
<Button type="primary" htmlType="submit">Save</Button>
<Button onClick={this.cancelEdit}>Cancel</Button>
</div>
</Form>
我对 antd 日历控件有类似的问题。尝试编写自定义验证器,但看起来如果没有更改,输入值未定义。我有机会让它发挥作用吗?
解决方案
是的,根据此处的文档,您需要使用该initialValue
道具<Form.Item>
然后才能正常工作。
<Form name="title" onFinish={this.submitEdit} >
<Form.Item
name="title"
rules={[{ required: true, message: 'Required field' }]}
initialValue={this.props.title}
>
<Input placeholder="Enter entry title"/>
</Form.Item>
<div>
<Button type="primary" htmlType="submit">Save</Button>
<Button onClick={this.cancelEdit}>Cancel</Button>
</div>
</Form>
干杯。
推荐阅读
- mysql - 无法连接到Mysql服务器,没有设置root密码
- elasticsearch - 从索引/存储中过滤 Elasticsearch 字段
- android - 在 Recycler 视图项之间添加图像
- authorization - 使用社交身份验证限制访问静态网站的最简单方法是什么
- laravel - Laravel - 选择/加入朋友到帖子表
- git - Sourcetree 中的“修改最新提交”,创建不相关的错误
- c# - 如何编写 RedirectToAction 的扩展方法以在 Mvc 中设置 TempData?
- android - 后台线程中的位图操作使 UI 无响应
- python - 为什么我的 python 文件没有获取所有提交的数据?
- c# - 在 Unity 和 C# 中绘制圆