tree-body.vue 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. <template>
  2. <view >
  3. <view class="meter-statistic-node" >
  4. <tree-node v-for="(item,i) in meterList"
  5. :ref="'tree-node'+i" @switchBtn="switchBtn"
  6. @query="query" :role="role" :level="meterList.length==1?0:1" :showPark="showPark"
  7. :key="i" :node="item" ></tree-node>
  8. </view>
  9. </view>
  10. </template>
  11. <script>
  12. import TreeNode from './tree-node.vue';
  13. export default {
  14. components: {
  15. TreeNode
  16. },
  17. props: {
  18. meterList:{
  19. type: Array,
  20. default() {
  21. return [];
  22. }
  23. },
  24. elderStatus: false,
  25. role:false,
  26. showPark:false,
  27. },
  28. methods:{
  29. switchBtn(node,key){
  30. this.$emit('switchBtn',node,key)
  31. },
  32. toggle(){
  33. // for(var i in this.meterList){
  34. // this.$nextTick(()=>{
  35. // this.$refs['tree-node'+i].toggle()
  36. // })
  37. // }
  38. },
  39. query(item){
  40. this.$emit('query',item)
  41. },
  42. },
  43. data() {
  44. return {
  45. treeData: {
  46. name: 'Root',
  47. children: [
  48. {
  49. name: 'Child 1',
  50. children: [
  51. { name: 'Grandchild 1.1' },
  52. { name: 'Grandchild 1.2' }
  53. ]
  54. },
  55. {
  56. name: 'Child 2',
  57. children: [
  58. { name: 'Grandchild 2.1' },
  59. { name: 'Grandchild 2.2' }
  60. ]
  61. }
  62. ]
  63. }
  64. };
  65. }
  66. };
  67. </script>
  68. <style lang="scss" scoped>
  69. .meter-statistic-node {
  70. margin-top: 32rpx;
  71. padding-top: 12rpx;
  72. padding-bottom: 20px;
  73. margin: 0 32rpx;
  74. background-color: #fcfafa;
  75. }
  76. </style>