安装
// 树形组件npm i vue-table-with-tree-grid
使用
https://github.com/yzsyzs/vue-table-tree-grid
有属性介绍,
在example中有示例
//import Vue from 'vue'//在main.js中导入import ZkTable from 'vue-table-with-tree-grid'//然后再那里使用就通过下面的方法再那个页面单独注册,也可放再main.js中进行全局注册(通过以下方式)Vue.component("tree-table", ZkTable)// 全局注册Vue.use(ZkTable)
<template>//data是数据对象<tree-table :data="cateData":selection-type="false":expand-type="false"show-indexindex-text="#"border:columns="columns"><!-- 通过slot将template与isok模板列串联 --><!-- slot-scope通过这个属性接收这一行的数据 --><template slot="isok" slot-scope="scope"><i v-if="!scope.cat_deleted" style="color:lightgreen;" class="el-icon-success"></i><i v-else class="el-icon-error" style="color:red;"></i></template><template slot="sort" slot-scope="scope"><el-tag v-if="scope.row.cat_level === 0">标签一</el-tag><el-tag v-else-if="scope.row.cat_level === 1" type="success">标签二</el-tag><el-tag v-else type="warning">标签三</el-tag></template><template slot="actions" slot-scope="scope"><el-button type="primary"@click="cateEditDiagonal(scope.row)"size="mini">编辑</el-button><el-button type="danger"@click="cateDeleteDiagonal(scope.row)"size="mini">删除</el-button></template></tree-table></template>data(){return {// 分类数据对象cateData:[],columns:[{// 列标题label:'分类名称',// 指定数据名称prop:'cat_name',},{label: '是否有效',prop: 'cat_deleted',// 将这一列指定为自定义模板列type: 'template',// 模板列的名称市likes,在表格组件中通过template组件注册这个模板template: 'isok',},{label: '排序',prop: 'cat_level',// 将这一列指定为自定义模板列type: 'template',// 模板列的名称市likes,在表格组件中通过template组件注册这个模板template: 'sort',},{label: '操作',// 将这一列指定为自定义模板列type: 'template',// 模板列的名称市likes,在表格组件中通过template组件注册这个模板template: 'actions',}],}}
