• Tree 树型
    • 普通用法
    • Variables
    • Option Attributes
    • Column Attributes
    • Props Attributes
    • Events
    • Scoped Slot

    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新增按钮卡槽