美文网首页Dev_Web
vue12-ElementUI tree组件懒加载的实现

vue12-ElementUI tree组件懒加载的实现

作者: 陌上桑_浅 | 来源:发表于2019-01-09 18:11 被阅读63次

    项目中用到的Element UI tree组件,由于向后台请求回来的数据庞大,需要使用懒加载,就研究了下,总结代码如下

    • template代码
          <el-tree
             :props="props"
              ref="tree"
              lazy
              :load="loadNode"
              node-key="id"
              :expand-on-click-node="false"
              @node-click="nodeClick"
              :filter-node-method="filterNode">
              <span class="tree-node" slot-scope="{ node, data }" :title="data.name">
                <span>{{ data.code }}_{{ data.name }}</span>
              </span>
            </el-tree>
    
    • script代码
      /* 在data中定义
        props: {
              label: 'name',
              children: 'child',
              isLeaf: 'leaf'
            }*/
       loadNode(node, resolve) {
            console.log(node)
            // console.log(resolve)
            if (node.level === 0) {
              return resolve([{ name: '第一级', id: '1' }, { name: '第一级02', id: '2' }])
              // 这里resolve的数据是后台给的,id用于之后点击发起请求时的参数
            } else {
              this.getTreeChild(node.data.id, resolve)
            }
          },
          getTreeChild(id, resolve) {
            console.log(id)
    //  这里可以替换成向后台发起的请求修改data,为了演示我用的是写死的数据,获取到data后,resolve出去就好了
            if (id === '1') {
              const data = [{
                name: '第二级',
                code: '2222',
                leaf: true,
                child: []
              }, {
                name: '第二级02',
                child: [],
                id: '1'
              }]
              resolve(data)
            } else {
              const data = [{
                name: '第二级33',
                code: '3333',
                leaf: true,
                child: []
              }, {
                name: '第二级02333',
                child: []
              }]
              resolve(data)
            }
          },
    

    以上代码亲测有效

    相关文章

      网友评论

        本文标题:vue12-ElementUI tree组件懒加载的实现

        本文链接:https://www.haomeiwen.com/subject/rpwgrqtx.html