禁用与状态相关的整个表单元素。反应

Posted

技术标签:

【中文标题】禁用与状态相关的整个表单元素。反应【英文标题】:Disable entire form elements with respect to a state. React 【发布时间】:2016-07-12 22:22:32 【问题描述】:

我正在使用 isFetching 属性禁用输入, 但这越来越多余,因为我必须在每个输入字段中保留它。 有没有办法禁用整个表单? 像 <form> 标签中的 disable 属性还是什么?

<form>
  <input type="text" disabled=this.props.isFetching />
  <input type="text" disabled=this.props.isFetching />
</form>

【问题讨论】:

【参考方案1】:

我认为这应该可以解决您的问题https://***.com/a/17186342/3298693。

您应该将表单插入到元素 &lt;fieldset disabled="disabled"&gt; 中。这将禁用整个表单。

【讨论】:

不应该是“您应该在表单中插入&lt;fieldset disabled="disabled"&gt; 元素”吗?【参考方案2】:

我遇到了同样的问题,这对我有用:

 <fieldset disabled=true>

真正的地方是一些“prop.setting”......

【讨论】:

最佳解决方案。【参考方案3】:

只需在您希望禁用输入文本的任何位置使用&lt;input type="text" disabled&gt;。几乎不需要一些时间。

【讨论】:

正如问题中提到的,这正是 OP 想要避免的。

以上是关于禁用与状态相关的整个表单元素。反应的主要内容,如果未能解决你的问题,请参考以下文章

extjs 表单元素中的 Extjs 组合框在禁用时未灰显

如何设置表单元素的只读和禁用属性

CSS 表单状态伪类选择器

将表单元素状态传递给兄弟/父元素的正确方法是啥?

如何使用带有选择选项表单元素的反应图标?

禁用提交 btn 时,预填充的表单输入元素不接受第一个输入