递归函数获取索引

 renderItems = (data, index = [], bread = []) => {
    return data.map((item, i) => {
      item.index = [...index, i + 1]
      item.bread = [...bread, {
        title: item.name,
        path: item.path,
      }]
      if (item.children) {
        return (
          <div key={item.path}
            className="sub-menu"
            style={{ height: (item.children.length + 1) * 35 + 'px' }}
          >
            <div key={item.path} className="sub-item" onClick={this.collapsed}>
              <span className="sub-name"><AppstoreOutlined className="mr-10" />{item.name}</span>
              <div className='icon'>></div>
            </div>
            {this.renderItems(item.children, item.index, item.bread)}
          </div >
        );
      }
      return (
        <div key={item.path}
          className='menu-item'
          onClick={this.itemClickHandle.bind(this, item)} >
          {item.index.length <= 1 && <AppstoreOutlined className="mr-10" />}
          {item.index.length > 1 && <TagOutlined className="mr-10" />}
          {item.name}
        </div >
      )
    })
  }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。