欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Vue组件库ElementUI实现表格加载树形数据教程

程序员文章站 2022-07-06 17:08:16
elementui实现表格树形列表加载教程,供大家参考,具体内容如下element ui 是一套采用 vue 2.0 作为基础框架实现的组件库,一套为开发者、设计师和产品经理准备的基于 vue 2.0...

elementui实现表格树形列表加载教程,供大家参考,具体内容如下

element ui 是一套采用 vue 2.0 作为基础框架实现的组件库,一套为开发者、设计师和产品经理准备的基于 vue 2.0 的组件库,提供了配套设计资源,帮助网站快速成型

关键代码,在el-table添加属性, :tree-props="{children: 'children'}" ,注意row必须命名为children,官网也进行了说明:

支持树类型的数据的显示。当 row 中包含 children 字段时,被视为树形数据。渲染树形数据时,必须要指定 row-key。支持子节点数据异步加载。设置 table 的 lazy 属性为 true 与加载函数 load 。通过指定 row 中的 haschildren 字段来指定哪些行是包含子节点。children 与 haschildren 都可以通过 tree-props 配置。

<el-table
  ref="table"
  :data="appritemdata"
  :header-cell-style="headclass"
        @select="handleselection"
        row-key="approveitem"
        height="420"
  border
       default-expand-all
       :tree-props="{children: 'children'}">
 <el-table-column
   type="selection"
   width="55">
 </el-table-column>
 <el-table-column
   prop="itemcode"
   label="事项编码">
 </el-table-column>
 <el-table-column
   prop="approvename"
   label="事项名称">
 </el-table-column>
 <el-table-column
   prop="apprstatusstr"
   label="配置的环节"
   color="blue">
 </el-table-column>
</el-table>

后台json数据:

{
    "id":3,
    "itemcode":"123",
    "approvename":"测试事项",
    "apprstatusstr":"环节名称",
    "children":[
        {
            "id":31,
            "itemcode":"111",
            "approvename":"测试事项",
            "apprstatusstr":"环节名称"
        }
    ]
}
<script type="text/babel">
       var vm = new vue({
           el: '#app',
           data:{
               appritemdata : [],
               currentpage: 1,  //当前页
               totalrow: 0, //总页数
               pagesize: 10 //当前显示条数
           },
           computed: {},
           watch: {},
           created() {},
           mounted() {
               this.loaditemdata();
  },
           methods: {
               // 加载事项信息
   loaditemdata () {
                   var pagesize = this.pagesize;
                   var currentpage = this.currentpage;
                   console.log("pagesize:"+pagesize+",currentpage:"+currentpage);
       //debugger;
       var geturl = '${root}/config/loaditemdata.do?rows='+pagesize + '&page=' + currentpage;
                   $.ajax({
                       type: 'get',
                       url:geturl,
                       contenttype: "application/json; charset=utf-8",
                       success: function(data) {
                           //debugger;
                           console.log("totalrow:"+data.total);
                           vm.appritemdata = data.rows;
                       },
                       error: function(e) {
                           console.log("更新数据出现错误:",e);
                       }
                   })
               }
           }
       });
</script>

Vue组件库ElementUI实现表格加载树形数据教程

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。