reactjs 将完整表单标记为只读的便捷方式

b09cbbtk  于 2023-02-12  发布在  React
关注(0)|答案(3)|浏览(256)

我有一个包含多个表单项的antd表单,我试图找到一种方法来将整个表单标记为只读。我可以肯定地将每个输入组件设置为“禁用”,但我想知道是否有一种方便的方法可以通过一个API调用在表单上这样做,我还不知道。

qnzebej0

qnzebej01#

将antd表单 Package 在一个fieldset中,并将其设置为“disabled”,效果非常好。

<fieldset disabled={editorDisabled}>
  <Form>
    ...
  <Form/>
<fieldset/>
vltsax25

vltsax252#

我在form api中没有看到这样的选项,我认为这是一个罕见的用例,所以我怀疑它是否存在。但是,您可以简单地添加跟踪disabled状态的变量,即:

const YourAwesomeComponent = (props) => {
     const disabled = someLogicToCalculateTheDisabledStatus(props);
     return <Form ...>
         <Input disabled={disabled} ... />
         <Select disabled={disabled} ... />
         <Button disabled={disabled} ... />
     </Form>
}

希望有帮助。

gab6jxml

gab6jxml3#

从版本4.21.0(2022年6月6日)起,禁用的属性可用于表单中以禁用所有字段,即:

<Form disabled={true}>
...
</Form>

只要<Form.Item/>没有被disabled={false}显式标记为未禁用,它就会被强制执行。

相关问题