簡體   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