antd中validateFields失效问题

时间:2020-06-29 17:11:10   收藏:0   阅读:393

  在antd的form表单中通常用this.props.form.validateFields()来获取并提交表单信息,那么问题来了,有时为啥会不走validateFields()方法里的代码呢?

  这是因为你的form表单里有自定义校验,而你的自定义校验没有用callback()跳出:

// 校验角色名字唯一
    getName = (rule, value, callback) => {
        const { dispatch } = this.props;
        const { recodes } = this.state;
        if (value) {
            dispatch({ type: roleModel/getName, payload: { roleId: recodes ? recodes.roleId : ‘‘, roleName: value } })
            .then((xhr)=>{
                if(!xhr){
                    callback(该角色名称已存在);
                }
            })
            callback()//在这里加一个callback就好了
        }else{
            callback()
        }
    };

  是不是和你踩的坑一样,有没有一种困扰多年的**瞬间通畅的感觉,

技术分享图片

  欢迎借鉴交流

原文:https://www.cnblogs.com/ding-dong/p/13208683.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!