vue项目怎样使用elementUI的树形组件 tree组件

谁借莪1个温暖的怀抱¢ 2021-12-01 12:44 609阅读 0赞

在模板中使用el-tree标签 给data属性绑定树形结构数据即可

  1. <el-tree :data="treeData"></el-tree>

接着在data中编写数据

  1. treeData: [
  2. {
  3. label: "java",
  4. children: []
  5. },
  6. {
  7. label: "web",
  8. children: [
  9. {
  10. label: "js",
  11. children: []
  12. },
  13. {
  14. label: "html",
  15. children: []
  16. },
  17. {
  18. label: "css",
  19. children: []
  20. }
  21. ]
  22. },
  23. {
  24. label: "python",
  25. children: []
  26. }
  27. ]

保存,即可看到效果

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dvc2hpZGFtaW1pMA_size_16_color_FFFFFF_t_70

当然,elementui的树形组件默认是以label字段作为名称显示的,如果没有label字段,比如这个的名称是name,那么树形组件就不会显示文字了

  1. treeData: [
  2. {
  3. name: "java",
  4. children: []
  5. },
  6. {
  7. name: "web",
  8. children: [
  9. {
  10. name: "js",
  11. children: []
  12. },
  13. {
  14. name: "html",
  15. children: []
  16. },
  17. {
  18. name: "css",
  19. children: []
  20. }
  21. ]
  22. },
  23. {
  24. name: "python",
  25. children: []
  26. }
  27. ],

为了能够显示,我们要设置一个字段映射

在data中定义一个对象,比如

  1. customProps:{
  2. label:'name',
  3. children:'children'
  4. }

然后绑定到树形组件的props属性里即可

  1. <el-tree :props="customProps" :data="treeData"></el-tree>

全部代码

  1. <template>
  2. <div id="app">
  3. <div class="box">
  4. <el-tree :props="customProps" :data="treeData"></el-tree>
  5. </div>
  6. </div>
  7. </template>
  8. <script>
  9. export default {
  10. name: "App",
  11. data() {
  12. return {
  13. treeData: [
  14. {
  15. name: "java",
  16. children: []
  17. },
  18. {
  19. name: "web",
  20. children: [
  21. {
  22. name: "js",
  23. children: []
  24. },
  25. {
  26. name: "html",
  27. children: []
  28. },
  29. {
  30. name: "css",
  31. children: []
  32. }
  33. ]
  34. },
  35. {
  36. name: "python",
  37. children: []
  38. }
  39. ],
  40. customProps:{
  41. label:'name',
  42. children:'children'
  43. }
  44. };
  45. }
  46. };
  47. </script>
  48. <style>
  49. .box {
  50. width: 200px;
  51. margin: 20px auto;
  52. }
  53. </style>

发表评论

表情:
评论列表 (有 0 条评论,609人围观)

还没有评论,来说两句吧...

相关阅读