antd中的validateFields返回的Promise中的values对象的key对应的value为undefined

发布于 2022-09-12 04:32:52 字数 1331 浏览 13 评论 0

在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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

故事↓在人 2022-09-19 04:32:52

你的API使用错了,官方文档中写了。

validateFields

校验并获取一组输入域的值与 Error,若 fieldNames 参数为空,则校验全部组件

(  
  [fieldNames: string[]],  
  [options: object],  
  callback(errors, values)  
) => void

并没有返回 promise,而是在 callback 中调用返回的 values

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文