【问题标题】:Remove selection when clicking on another list item单击另一个列表项时删除选择
【发布时间】:2019-03-14 11:17:28
【问题描述】:

我正在映射一组对象,如下所示

<div>
  {categoryArray.map(category => <DFCard  category={category} key={category.id}/>)}
</div>

DFC卡

      <div className="cat_div" id={category.id} onClick={() => this.selectCategory(category.id)}>
          <i className={`${category.icon} fontawesome vertical_center setting_icon`}/>
          <span className="cat_lbl vertical_center">{category.name}</span>
          {this.state.selectedId === category.id && 'selected'}
      </div>


     selectCategory(id) {
        this.setState({
          selectedId: id
        })
    }

我正在尝试在我单击的项目上显示selected。单击另一个列表项时,我的方法不会删除 selected 标签。我该如何解决这个问题?

【问题讨论】:

  • 您需要在父母的状态下拥有selected,而不是在 DFCard 中
  • @UtsavPatel 谢谢。开始工作了

标签: javascript reactjs


【解决方案1】:

试试这个

 selectCategory(id) {
          let oldSelected = this.setState.selectedId;
          oldSelected.push(id)
          this.setState({selectedId: oldSelected})
    }

{this.state.selectedId && this.state.selectedId.indexOf(category.id) > -1  && 'selected'}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-17
    • 1970-01-01
    • 2021-02-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多