树型

例子

树型 - 图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. formOption:{
  47. labelWidth:100,
  48. column:[{
  49. label:'自定义项',
  50. prop:'test'
  51. }],
  52. }
  53. props:{
  54. labelText:'标题',
  55. label:'label',
  56. value:'value',
  57. children:'children'
  58. }
  59. }
  60. }
  61. },
  62. methods:{
  63. tip(node,data){
  64. this.$message.success(JSON.stringify(data))
  65. },
  66. del(data,node,done){
  67. this.$message.success('删除回调')
  68. done();
  69. },
  70. update(data,node,done){
  71. this.$message.success('更新回调')
  72. done();
  73. },
  74. save(data,node,done){
  75. this.$message.success('新增回调')
  76. this.form.id = new Date().getTime();
  77. this.form.value=new Date().getTime();
  78. this.form.children=[];
  79. done();
  80. },
  81. nodeClick(data){
  82. this.$message.success(JSON.stringify(data))
  83. }
  84. }
  85. }
  86. </script>

Avue-tree Attributes

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

Avue-tree Option Attributes

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

Avue-tree props Attributes

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

Avue-tree Column Attributes

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

Avue-tree Events

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

Avue-tree Scoped Slot

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