当前位置:Gxlcms > JavaScript > Vue.js组件tree实现无限级树形菜单

Vue.js组件tree实现无限级树形菜单

时间:2021-07-01 10:21:17 帮助过:23人阅读

分享一段用 <ul>和<li>标签实现tree的代码,可能写的不是很好,如果大家有更好的希望分享下。
代码看这里喽:

html代码:

  1. <div class="tree">
  2. <nav class='navbar'>
  3. <ul class='nav nav-stacked'>
  4. <template v-for='item in menus'>
  5. <li role='presentation' v-if='!item.children'><a href="#">{{item.text}}</a></li>
  6. <li role='presentation' v-if='item.children'><a href="#" v-on:click='toggleChildren(item)'>{{item.text}}<span class='glyphicon' v-bind:class='{ "glyphicon-chevron-right": !item.expanded, "glyphicon-chevron-down": item.expanded }'></span></a>
  7. <ul v-show='item.expanded' class="childs">
  8. <li v-for='child in item.children'><a href="#">{{child.text}}</a></li>
  9. </ul>
  10. </li>
  11. </template>
  12. </ul>
  13. </nav>
  14. </div>

js代码:

  1. methods: {
  2. toggleChildren: function(item) {
  3. item.expanded = !item.expanded;
  4. },
  5. },
  6. data() {
  7. return {
  8. menus:[{
  9. text:'水果',
  10. expanded:false,
  11. children:[{
  12. text:'苹果',
  13. },{
  14. text:'荔枝'
  15. },{
  16. text:'葡萄'
  17. },{
  18. text:'火龙果'
  19. }]
  20. },{
  21. text:'好吃的',
  22. expanded:false,
  23. children:[{
  24. text:'糖',
  25. },{
  26. text:'面包'
  27. },{
  28. text:'火腿'
  29. },{
  30. text:'薯片'
  31. },{
  32. text:'碎碎面'
  33. }]
  34. },{
  35. text:'饮料',
  36. expanded:false,
  37. children:[]
  38. }]
  39. }
  40. },

效果图:

Vue.js组件tree实现无限级树形菜单

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支PHP中文网。

更多Vue.js组件tree实现无限级树形菜单相关文章请关注PHP中文网!

人气教程排行