安装

  1. // 树形组件
  2. npm i vue-table-with-tree-grid

使用

  1. https://github.com/yzsyzs/vue-table-tree-grid

有属性介绍,
在example中有示例

  1. //import Vue from 'vue'
  2. //在main.js中导入
  3. import ZkTable from 'vue-table-with-tree-grid'
  4. //然后再那里使用就通过下面的方法再那个页面单独注册,也可放再main.js中进行全局注册(通过以下方式)
  5. Vue.component("tree-table", ZkTable)
  6. // 全局注册
  7. Vue.use(ZkTable)
  1. <template>
  2. //data是数据对象
  3. <tree-table :data="cateData"
  4. :selection-type="false"
  5. :expand-type="false"
  6. show-index
  7. index-text="#"
  8. border
  9. :columns="columns">
  10. <!-- 通过slottemplateisok模板列串联 -->
  11. <!-- slot-scope通过这个属性接收这一行的数据 -->
  12. <template slot="isok" slot-scope="scope">
  13. <i v-if="!scope.cat_deleted" style="color:lightgreen;" class="el-icon-success"></i>
  14. <i v-else class="el-icon-error" style="color:red;"></i>
  15. </template>
  16. <template slot="sort" slot-scope="scope">
  17. <el-tag v-if="scope.row.cat_level === 0">标签一</el-tag>
  18. <el-tag v-else-if="scope.row.cat_level === 1" type="success">标签二</el-tag>
  19. <el-tag v-else type="warning">标签三</el-tag>
  20. </template>
  21. <template slot="actions" slot-scope="scope">
  22. <el-button type="primary"
  23. @click="cateEditDiagonal(scope.row)"
  24. size="mini">编辑</el-button>
  25. <el-button type="danger"
  26. @click="cateDeleteDiagonal(scope.row)"
  27. size="mini">删除</el-button>
  28. </template>
  29. </tree-table>
  30. </template>
  31. data(){
  32. return {
  33. // 分类数据对象
  34. cateData:[],
  35. columns:[
  36. {
  37. // 列标题
  38. label:'分类名称',
  39. // 指定数据名称
  40. prop:'cat_name',
  41. },
  42. {
  43. label: '是否有效',
  44. prop: 'cat_deleted',
  45. // 将这一列指定为自定义模板列
  46. type: 'template',
  47. // 模板列的名称市likes,在表格组件中通过template组件注册这个模板
  48. template: 'isok',
  49. },
  50. {
  51. label: '排序',
  52. prop: 'cat_level',
  53. // 将这一列指定为自定义模板列
  54. type: 'template',
  55. // 模板列的名称市likes,在表格组件中通过template组件注册这个模板
  56. template: 'sort',
  57. },
  58. {
  59. label: '操作',
  60. // 将这一列指定为自定义模板列
  61. type: 'template',
  62. // 模板列的名称市likes,在表格组件中通过template组件注册这个模板
  63. template: 'actions',
  64. }
  65. ],
  66. }
  67. }