Tree 树型

常用的树型组件

TIP

1.0.0+

普通用法

Tree 树型 - 图1

option配置属性即可,data为可配置项目,具体参考下表文档

  1. <avue-tree :option="option" :data="data" @node-click="nodeClick" @update="update" @save="save" @del="del" v-model="form">
  2. <template slot-scope="scope" slot="menuBtn">
  3. <el-dropdown-item @click.native="tip(scope.node,scope.data)">自定义按钮</el-dropdown-item>
  4. </template>
  5. </avue-tree>
  6. <script>
  7. export default {
  8. data () {
  9. return {
  10. form:{},
  11. data:[
  12. {
  13. id:0,
  14. label:'一级部门',
  15. value:0,
  16. children:[
  17. {
  18. id:1,
  19. label:'一级部门1',
  20. value:0,
  21. },{
  22. id:2,
  23. label:'一级部门2',
  24. value:0,
  25. }
  26. ]
  27. },{
  28. id:3,
  29. label:'二级部门',
  30. value:0,
  31. children:[
  32. {
  33. id:4,
  34. label:'二级部门1',
  35. value:0,
  36. },{
  37. id:5,
  38. label:'二级部门2',
  39. value:0,
  40. }
  41. ]
  42. }
  43. ],
  44. option:{
  45. nodeKey:'id',
  46. size:'small',
  47. formOption:{
  48. labelWidth:100,
  49. column:[{
  50. label:'自定义项',
  51. prop:'test'
  52. }],
  53. },
  54. props:{
  55. labelText:'标题',
  56. label:'label',
  57. value:'value',
  58. children:'children'
  59. }
  60. }
  61. }
  62. },
  63. methods:{
  64. tip(node,data){
  65. this.$message.success(JSON.stringify(data))
  66. },
  67. del(data,node,done){
  68. this.$message.success('删除回调')
  69. done();
  70. },
  71. update(data,node,done){
  72. this.$message.success('更新回调')
  73. done();
  74. },
  75. save(data,node,done){
  76. this.$message.success('新增回调')
  77. this.form.id = new Date().getTime();
  78. this.form.value=new Date().getTime();
  79. this.form.children=[];
  80. done();
  81. },
  82. nodeClick(data){
  83. this.$message.success(JSON.stringify(data))
  84. }
  85. }
  86. }
  87. </script>

Variables

参数说明类型可选值默认值
option组件配置属性,详情见下面Option属性Object
data存放结构体的数据Array

Option Attributes

参数说明类型可选值默认值
expandAll是否展开节点Booleanfalse / truetrue
nodeKey节点的主键String-id
size大小属性Stringsmall / minismall
dialogWidth弹出框宽度String-50%
formOption自定义form表单,具体参考avue-form组件(默认自带一个标题的column,可以根据配置去修改)Object--
menu菜单栏Booleanfalse / truetrue
addBtn新增按钮Booleanfalse / truetrue
editBtn编辑按钮Booleanfalse / truetrue
delBtn修改按钮Booleanfalse / truetrue
props配置选项,具体看下表object--

Column Attributes

参数说明类型可选值默认值
label节点的名称String--
value节点的值String--
id节点主键String--
children子节点Array--

Props Attributes

参数说明类型可选值默认值
label指定节点标签为节点对象的某个属性值string
labelText弹窗添加节点的名称String-名称
children指定子树为节点对象的某个属性值string
value指定节点选择框的值boolean

Events

事件名说明参数
save新增节点回调data, node, done
update修改节点回调data, node, done
del删除节点回调data, node, done

Scoped Slot

name说明
menuBtn按钮的卡槽
addBtn新增按钮卡槽