[英]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
事件处理程序与useRef
和form.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.