elementui下拉框显示树结构


 https://www.vue-treeselect.cn/

前端树,下拉框显示树结构 

:defaultExpandLevel="Infinity" 设置 Infinity 为默认使所有分支节点扩展
在package.json中加入依赖 :
"@riophae/vue-treeselect": "^0.4.0",

前端部分代码:
            import Treeselect from '@riophae/vue-treeselect' import '@riophae/vue-treeselect/dist/vue-treeselect.css'


  components: {
    Treeselect
  },



getAllModule() {
      let param = {}
      let self = this
      commData.getAllModule(param).then(data => {
        if (data.success && data.data) {
          let rootArr = []
          for (let i = 0; i < data.data.length; i++) {
            if (data.data[i].parentId === '0') {
              rootArr.push(data.data[i])
            }
          }
          this.getMenuChildTree(data.data, rootArr)
        }
      }).catch(e => {
        self.$message.error('服务端出错')
      })
    },
    getMenuChildTree(datas, dataArray) {
      for (let j = 0; j < dataArray.length; j++) {
        let dataArrayIndex = dataArray[j]
        let childrenArray = []
        let Id = dataArrayIndex.id
        for (let i = 0; i < datas.length; i++) {
          let data = datas[i]
          let parentId = data.parentId
          if (parentId === Id) {
            let objTemp = {
              id: data.id,
              label: data.module
            }
            childrenArray.push(objTemp)
          }
        }
        if (childrenArray.length > 0) {
          dataArrayIndex.children = childrenArray
          this.getMenuChildTree(datas, childrenArray)
        }
      }
    this.moduleOptions = dataArray
    },