表单验证返回的问题

来源:11-4 部门新增、编辑、删除接口实现

weixin_慕用2051079

2023-07-20

老师好,视频里有这么一段代码

 const valid = await form.validateFields()
 if(valid){
 //...
 }

这里的valid我在控制台打印出来,要么是一个error,要么是一个对象,Promise对象并不是直接返回true或false的,怎么能用于判断 if(valid) 呢,这一部分不太理解

写回答

1回答

河畔一角

2023-07-20

官方的示例是这样判断的:

form.validateFields().then(      () => {        setSubmittable(true);      },      () => {        setSubmittable(false);      },);


也就是说,返回的是一个Promise,如果验证通过,则执行then中的代码,如果验证失败,则执行catch中的代码。

await写法:

const valid = await form.validateFields();

这种情况下,可以使用try catch捕获失败信息,当然建议不用try catch,如果报错,下面不会执行。

所以,课程当中的 if(valid){} 这段代码是多余的。

0
0

React18+TS 通用后台管理系统解决方案落地实战

全面提升React高阶技能,灵活驾驭各类后台管理系统开发痛点

625 学习 · 227 问题

查看课程