【问题标题】:React JS, how can I disable an individual button in a mapped list?React JS,如何禁用映射列表中的单个按钮?
【发布时间】:2022-01-24 14:37:36
【问题描述】:

新的反应,我目前有一个基于 api 响应映射的按钮列表,如下所示:

render() { 
  return(
      <div> 
        <h4>User Status:</h4> 
        <div className='buttonContainer'>
        {this.state.data.map((status =>   
            <li key={status.key}>
              <button id={status.key} value = {status.text} onClick={this.nextStep}/>
                {status.text}
              </button>
            </li>
          ))}
        </div>
      </div>
    )      
  }

nextStep 函数将用户状态更改为按下按钮的值(全部基于数据)但是我不希望用户能够多次按下按钮。如何禁用被按下的按钮而不禁用列表中的每个按钮?

【问题讨论】:

    标签: javascript reactjs list button disable


    【解决方案1】:

    只需在您的状态数据数组中添加 isDisabled 标志。就像下面的代码

    [{key: 1, text: 'aa', isDisabled: true}, {key: 1, text: 'ab', isDisabled: false}]
    

    在按钮 onClick 事件上更新此 isDisabled 标志,基于此 isDisabled 标志,您可以禁用按钮点击。

    【讨论】:

    • 您好,很抱歉回复晚了。我不完全确定我是否遵循,这会禁用被按下的单个按钮还是整个按钮阵列?
    猜你喜欢
    • 2021-11-03
    • 2019-02-15
    • 1970-01-01
    • 2019-01-29
    • 2021-09-21
    • 2022-08-04
    • 2017-10-24
    • 2021-08-08
    • 1970-01-01
    相关资源
    最近更新 更多