如何将提取的函数传递给自定义函数?

How to pass extracted function to custom function?

想象一下这个 .jsx 代码:

<Form.Item rules={[
    ({getFieldValue}) => ({
        validator: passwordConfirmValidation
    })
]}>

如何将提取的函数 getFieldValue(仅在 Form-Item 中可用到我的自定义函数 passwordConfirmValidation?我想在我的自定义函数中使用此函数。

看起来你正在使用 antd 设计组件,所以你可以安全地在外部创建一个函数,然后像这样将 getFieldValue 传递给外部函数:

// Return a function to avoid typing errors
const passwordConfirmValidation = (func: Function) => () => {
 const data = func();
 console.log(data);
};

  return (
      <Form.Item
        label="password"
        name="password"
        rules={[
          ({ getFieldValue }) => ({
            validator: passwordConfirmValidation(getFieldValue)
          })
        ]}
      >
        <Input />
      </Form.Item>
  )

通过这种方式,您将始终从输入中获取最新值,并且您可以在 passwordConfirmValidation 中创建逻辑来处理您的验证。

这是工作代码https://codesandbox.io/s/basic-usage-antd41610-forked-3lwgm