Antd之清空表单数据后,校验空值无法显示提示信息解决方案(二)

接上回:https://blog.csdn.net/qq_33733970/article/details/80049371

//解决校验空值不显示问题
setTimeout(this.props.form.resetFields,3000);

解决方案:

let myClear;
handleSubmit = (e) => {
   e.preventDefault();
    this.props.form.validateFields((err, values) => {
        if (!err) {
            console.log('Received values of form: ', values);
        }
    });
    //解决校验空值不显示问题
    //注意点:内部回调函数this.props.form.resetFields不要带括号,否则无效
    myClear = setTimeout(this.props.form.resetFields,2000);
};
componentWillUnmount(){
    clearTimeout(myClear)
};
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
antd的Modal组件点击取消后,表数据清空可以通过以下两种方式实现: 1. 使用Form组件和Form.resetFields()方法 如果你的表组件使用了antdForm组件,那么你可以在Modal组件的onCancel回调中调用Form.resetFields()方法来清空表数据。例如: ```jsx const [visible, setVisible] = useState(false); const [form] = Form.useForm(); const handleCancel = () => { form.resetFields(); // 清空表数据 setVisible(false); // 隐藏模态框 }; return ( <div> <Button onClick={() => setVisible(true)}>打开模态框</Button> <Modal visible={visible} onCancel={handleCancel}> <Form form={form}> {/* 表项 */} </Form> </Modal> </div> ); ``` 在上面的代码中,我们使用了Form.useForm()来获取一个表实例,然后在Modal组件的onCancel回调中调用了form.resetFields()方法来清空表数据。 2. 使用React状态和setState()方法 如果你的表组件没有使用antdForm组件,那么你可以在Modal组件的onCancel回调中使用React的状态和setState()方法来清空表数据。例如: ```jsx const [visible, setVisible] = useState(false); const [formData, setFormData] = useState({}); const handleCancel = () => { setFormData({}); // 清空表数据 setVisible(false); // 隐藏模态框 }; const handleInputChange = (event) => { const { name, value } = event.target; setFormData({ ...formData, [name]: value }); // 更新表数据 }; return ( <div> <Button onClick={() => setVisible(true)}>打开模态框</Button> <Modal visible={visible} onCancel={handleCancel}> <Input name="input1" value={formData.input1} onChange={handleInputChange} /> <Input name="input2" value={formData.input2} onChange={handleInputChange} /> </Modal> </div> ); ``` 在上面的代码中,我们使用了React的useState()方法来定义了一个名为formData的状态,它的初始值为空对象。然后在Modal组件的onCancel回调中调用了setFormData({})方法来清空表数据。在表项的onChange回调中,我们使用setFormData()方法来更新表数据

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值