TreeSelect關於樹的渲染

//父節點
  renderTreeNode(orgtree) {
    let treeNode = [];
    orgtree.map((ele, index) => {
      treeNode.push(
        <TreeNode value={ele.id} title={ele.name} key={ele.code} disabled>
          {this.renderChildOne(ele)}
        </TreeNode>
      )
    })
    return treeNode;
  };
  //一級子節點
  renderChildOne(ele) {
    let childLevel1 = [];
    if(ele.data){
      ele.data.map((ele, index) => {
        childLevel1.push(
          <TreeNode value={ele.id} title={ele.name} key={ele.id} disabled={ele.children?true:false}>
            {this.renderChildTwo(ele)}
          </TreeNode>
        )
      })
    }
    return childLevel1;
  };
  //二級子節點
  renderChildTwo(ele){
    let childLevel2 = [];
     if (ele.children) {
      ele.children.map((ele, index) => {
        childLevel2.push(
          <TreeNode value={ele.id} title={ele.name} key={ele.id}>
          </TreeNode>
        )
      })
    }
    return childLevel2;
  }
 <TreeSelect
                  showSearch
                  treeNodeFilterProp="title"
                  style={{ width: '80%', minWidth: '180px' }}
                  dropdownStyle={{ maxHeight: 400, overflow: 'auto' }}
                  placeholder={intl.get('Please_Select')}
                  allowClear
                  multiple
                  treeDefaultExpandAll
                  onChange={this.onChange.bind(this)}
                  value={this.props.store.editRowData.orgArr.slice()}
                >
                  {
                    //this.renderTreeNode(this.props.store.orgTree)
                    this.renderTreeNode(this.props.store.scopeAapplicationTree)
                  }
                </TreeSelect>

本質是遞歸,後續可再優化下

發佈了37 篇原創文章 · 獲贊 11 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章