我有一个包含多个表单项的antd表单,我试图找到一种方法来将整个表单标记为只读。我可以肯定地将每个输入组件设置为“禁用”,但我想知道是否有一种方便的方法可以通过一个API调用在表单上这样做,我还不知道。
qnzebej01#
将antd表单 Package 在一个fieldset中,并将其设置为“disabled”,效果非常好。
<fieldset disabled={editorDisabled}> <Form> ... <Form/> <fieldset/>
vltsax252#
我在form api中没有看到这样的选项,我认为这是一个罕见的用例,所以我怀疑它是否存在。但是,您可以简单地添加跟踪disabled状态的变量,即:
disabled
const YourAwesomeComponent = (props) => { const disabled = someLogicToCalculateTheDisabledStatus(props); return <Form ...> <Input disabled={disabled} ... /> <Select disabled={disabled} ... /> <Button disabled={disabled} ... /> </Form> }
希望有帮助。
gab6jxml3#
从版本4.21.0(2022年6月6日)起,禁用的属性可用于表单中以禁用所有字段,即:
<Form disabled={true}> ... </Form>
只要<Form.Item/>没有被disabled={false}显式标记为未禁用,它就会被强制执行。
<Form.Item/>
disabled={false}
3条答案
按热度按时间qnzebej01#
将antd表单 Package 在一个fieldset中,并将其设置为“disabled”,效果非常好。
vltsax252#
我在form api中没有看到这样的选项,我认为这是一个罕见的用例,所以我怀疑它是否存在。但是,您可以简单地添加跟踪
disabled
状态的变量,即:希望有帮助。
gab6jxml3#
从版本4.21.0(2022年6月6日)起,禁用的属性可用于表单中以禁用所有字段,即:
只要
<Form.Item/>
没有被disabled={false}
显式标记为未禁用,它就会被强制执行。