点击其他列表项时删除选择

时间:2019-03-14 11:17:28

标签: javascript reactjs

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

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

DFCard

      <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标签。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

尝试

 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'}