antd中的validateFields返回的Promise中的values对象的key对应的value为undefined
在form表单中,我想获取到一个input输入框的的name和其值,都是返回的值老是为undefined。
代码如下
formRef = React.createRef();
<Form
name="category_form"
className="category_form"
ref={this.formRef} //创建ref
>
<Form.Item
name="categoryName"
rules={[
{required: true,message: '分类名不能为空'},
]}
>
<Input placeholder="请输入分类名" />
</Form.Item>
</Form>
</Modal>
通过以下代码想获取到: '{cateforyName:'input输入的内容'}' 这样的values对象,
this.formRef.current.validateFields()
.then((values) => {
console.log(values)
})
.catch((errorInfo) => {
console.log(errorInfo)
})
但是返回的内容如下,values对象中的value一直是undefined,想不通哪里出错,请求帮忙,麻烦大佬帮我看一下吧,感谢
以下为控制台输出的内容:
警告:async-validator: ["'categoryName' is required"]
{values: {…}, errorFields: Array(1), outOfDate: false}
errorFields: Array(1)
0:
errors: ["分类名不能为空"]
name: ["categoryName"]
__proto__: Object
length: 1
__proto__: Array(0)
outOfDate: false
values: {categoryName: undefined}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你的API使用错了,官方文档中写了。
validateFields
校验并获取一组输入域的值与 Error,若 fieldNames 参数为空,则校验全部组件
并没有返回
promise
,而是在callback
中调用返回的values
。