elementui tree显示两列字段数据

这两天被el-tree搞死了,为了实现如下效果:
elementui tree显示两列字段数据_第1张图片
###试了可以两排显示的 使用 render-content以及使用 scoped slot,都不能识别除label以外的字段,好坑啊为什么。。。###
oh,my god,解决代码如下:之前一直用的node.num,仔细试了一下才看清人家写的是data.num


     
           {{ node.label }}
            
                {{data.num}}
            
       
 

data() {
   return {
       data5: [{
            id: 1,
            label: '一级 1',
            num: 10,
            children: [{
                    id: 4,
                    label: '二级 1-1',
                    num: 1,
                    children: [{
                            id: 9,
                            num: 0,
                            label: '三级 1-1-1'
                    }, {
                            id: 10,
                            num: 5,
                            label: '三级 1-1-2'
                    }]
            }]
    }, {
            id: 2,
            label: '一级 2',
            num: 0,
            children: [{
                    id: 5,
                    num: 30,
                    label: '二级 2-1'
            }, {
                    id: 6,
                    num: 0,
                    label: '二级 2-2'
            }]
    }, {
            id: 3,
            num: 0,
            label: '一级 3',
            children: [{
                    id: 7,
                    num: 0,
                    label: '二级 3-1'
            }, {
                    id: 8,
                    num: 0,
                    label: '二级 3-2'
            }]
       }]
    }
}

el-tree两个过滤条件的实现(这是另一个例子,实现一开始的那个贴图):


    
         
         
       
       
         
         
       
     

     
     
             {{ node.label }}
             {{ data.deptName }}
      
     
data() {
   return {     
		defaultProps: {
		          children: 'children',
		          label: 'productName'
		        }, 
 } }        
 watch: {
      filterProd(val) {
        this.$refs.tree2.filter(val);
      },
      filterDepart(val){
        this.filterNode(val,this.productList)
        this.$refs.tree2.filter(val);
      }
    },
    methods:{
      filterNode(value, data) {
        if ((!this.filterProd)&&(!this.filterDepart)) return true;
        if(this.filterProd==''&&this.filterDepart!=''){
          if(data instanceof Array){
                for(let i in data){
                  return data[i].deptName.indexOf(this.filterDepart) !== -1
                }
              }else{
                return data.deptName.indexOf(this.filterDepart) !== -1
              }
        }else if(this.filterDepart==''&&this.filterProd!=''){
          if(data instanceof Array){
            for(let i in data){
              return data[i].productName.indexOf(this.filterProd) !== -1
            }
          }else{
            return data.productName.indexOf(this.filterProd) !== -1
          }
        }else if(this.filterDepart!=''&&this.filterProd!=''){
          if(data instanceof Array){
            for(let i in data){
              if(data[i].productName.indexOf(this.filterProd) !== -1&&data[i].deptName.indexOf(this.filterDepart) !== -1){
                return data[i];
              }
            }
          }else{
            if(data.productName.indexOf(this.filterProd) !== -1&&data.deptName.indexOf(this.filterDepart) !== -1){
              return data;
            }
          }
          }
      },     
}

另:props只能识别label,在label中可实现显示别的字段:
elementui tree显示两列字段数据_第2张图片

defaultProps: {
          children: 'children',
          //label:‘label’,
          label: function(a,b){
            console.log("###label",a,b)
            return a.label+'-------'+a.prodd
          },
        }

你可能感兴趣的:(element)