繁体   English   中英

Form.Item 在 antd 中经过验证后,如何提供回调?

[英]How do I provide a callback when Form.Item has been validated in antd?

我的 Input 当前位于<Form>Form.Item中。
我只想在验证成功时触发回调,所以回调不会运行验证失败。
有没有办法做到这一点?

<Form.Item
  hasFeedback
  name="url"
  rules={[
    {
      required: true,
      min: 5,
      type: "url",
      whitespace: true,
    },
  ]}
  onChange={console.log}
>
  <Input
    name="url"
    onChange={(event) => {
      props.onChange(event);
      setValue(event.target.value);
    }}
  />
</Form.Item>

参考:

您可以通过将Form组件的onValuesChange事件处理程序与useRefform.validateFields实例方法结合使用来实现此行为。 useRef用于跟踪url字段之前的验证状态。

回调,如以下示例中当前设置的那样,仅当字段从错误验证 state 转换为成功验证 state 时才会启动(我假设这是您想要的行为)。

https://codesandbox.io/s/antd-launchcallbackonvalidatesuccess-pehue

快乐编码!

PS 如果url Form.Item组件也可以访问form实例,那么您也应该能够使用Input组件的onChange处理程序启动相同的逻辑。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM