如何将提取的函数传递给自定义函数?
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
想象一下这个 .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