当前位置: 首页 > 知识库问答 >
问题:

如何禁用React按钮有条件的状态值?

鲍建业
2023-03-14

我添加了一个简单的表单,有一个输入和一个保存按钮。保存函数被调用,并按预期工作。

但是我现在想在保存按钮上添加一个布尔值来禁用逻辑。所以在我当前的页面中,我有一个叫做email的状态,如果这个状态是空的,我想禁用这个按钮。

我做了如下尝试,将{!this.state.email}传递到按钮的disabled属性中,但它不会禁用save按钮。与此示例类似:

 <Button primary={true} disabled={!this.state.email} onClick={this._onSave}>Save</Button>

我还在_onBlur方法中记录了该值,我可以看到电子邮件状态正在填充。

问题:

如何将组件状态绑定到按钮禁用属性?

以下是我当前部分的要点:

http://hastebin.com/jufahijoza.js

共有1个答案

孙岳
2023-03-14

请看我的评论以获得解释。

    _onBlur(event) {
       //if(true or false)
       // this.refs.myInputButton theres your button now disable/enable it with javascript

this.props.setUserEmail(event.target.value); 
            console.log(this.state.email);     
        }
 类似资料:
  • 我以编程方式生成了许多按钮(一些按钮用于增加值,而另一些按钮用于减少值),当它们调整的值达到最大值或最小值时,我会禁用这些按钮。(即,当达到最大值时,“增加”按钮被禁用,而当达到最小值时,“减少”按钮被禁用。)除了禁用,我还将按钮状态设置为“按下”,以直观地指示已达到极限值,并且按钮不再工作。 我的按钮onClickListener的'增加'按钮看起来像这样: ClickListeners上相应的

  • 材料规格显示禁用按钮状态,看起来是灰色的。 https://www.material.io/design/components/buttons.html#切换按钮 只是默认情况下没有在材料Android组件中实现?材料组件是否定义了禁用的按钮状态器?

  • 我使用文本输入组件来接受来自用户的文本,并且只有当文本输入匹配某个字符串时,按钮才应该被启用。 我可以思考通过在没有TouchableOpactiy包装器的情况下初始渲染按钮,一旦输入字符串匹配,就用包装器重新渲染。 但是我猜有更好的方法来做到这一点。有人能帮忙吗?

  • 如果我单击年度单选按钮,则开关按钮(标记为“半天”)应隐藏或禁用(仅适用于年度单选按钮)。我该怎么做呢? 这是我的开关按钮代码: 这是我的onChange函数: 我的单选按钮和开关按钮:

  • 我正在尝试使用Flutter中的进度状态按钮。在pub.dev文档中,小部件的设置如下

  • 我正在使用场景构建器2.0,我想让一个按钮在默认情况下被禁用。这是很好的工作,但我想使它启用,如果两个布尔设置为真。在场景构建器中,如何向按钮的状态添加条件? 因此,下面的launchButton方法是单击按钮时将发生的情况。并且checkBox方法中的布尔值应该以某种方式连接到场景构建器。