![](/img/trans.png)
[英]How do I provide a callback when Form.Item has been validated in antd?
[英]#Antd# How can I bind self-made component with Form.item
我想像这样使用我的组件
<Form.item>
<MyComponent />
</Form.item>
当我点击提交按钮时,我无法将 defaultValue 传递给 MyComponent 并且表单无法从 MyComponent 获取值。
我怎样才能解决这个问题?
要使用默认值,您可以使用 antd 的Form
中的initialValues
以及Form.Item
中定义的name
。
例如:
<Form
{...layout}
name="basic"
initialValues={{
myComponent: "IntialTestValue"
}}
onFinish={onFinish}
onFinishFailed={onFinishFailed}
>
<Form.Item
label="MyComponent"
name="myComponent"
要使用自定义或第三方组件,您需要将您的组件绑定到一个value
和onChange
。
例如:
const MyComponent = ({ value = {}, onChange }) => {
const [inputValue, setInputValue] = useState(value);
const onInputChange = e => {
setInputValue(e.target.value);
onChange(e.target.value);
};
return (
<>
<Input defaultValue={value} value={inputValue} onChange={onInputChange} />
</>
);
};
这是一个有效的CodeSandbox 。
另一个很好的例子可以在 int antd Form docs中找到: CodeSandbox
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.