Warning: count(): Parameter must be an array or an object that implements Countable in /www/wwwroot/www.xcondor.cn/usr/plugins/AMP/Action.php on line 381

Warning: getimagesize(): Filename cannot be empty in /www/wwwroot/www.xcondor.cn/usr/plugins/AMP/Action.php on line 469
react div 多选

沙漠里的小蜜蜂

react div 多选

export default class SelectDiv extends Component {
  state = {
    selects: [],
    renList: [{ name: 'n1' }, { name: 'n2' }, { name: 'n3' }],
  }
  handleCheck = ({ name }) => {
    this.setState(({ selects }) => ({
      selects: selects.includes(name)
        ? selects.filter(item => item !== name)
        : [...selects, name],
    }))
  }
  selectAll = () => {
    this.setState(({ renList }) => ({
      selects: renList.map(item => item.name),
    }))
  }
  cancelSelectAll = () => {
    this.setState(() => ({
      selects: [],
    }))
  }
  render() {
    const { selects: selects, renList } = this.state
    return (
      <div>
        <button onClick={this.selectAll}>选中全部</button>
        <button onClick={this.cancelSelectAll}>取消全部</button>
        {renList.map(subItem => (
          <div>
            <div
              key={subItem.name}
              className={`${css.sunKind} ${
                selects.includes(subItem.name) ? css.active : ''
              }`}
              onClick={() => this.handleCheck(subItem)}
            >
              {subItem.name}
            </div>
          </div>
        ))}
      </div>
    )
  }
}

 

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »

因本文不是用Markdown格式的编辑器书写的,转换的页面可能不符合AMP标准。