antd中validateFields失效问题


  在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()
        }
    };

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

  欢迎借鉴交流


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM