我是只兔子i 2022-05-26 14:44 采纳率: 58.3%
浏览 873
已结题

element树如何取当前节点的同级节点(上一个节点,下一个节点)

问题遇到的现象和发生背景

如何获取element树的当前节点同级的上一个节点和下一个节点

  • 写回答

3条回答 默认 最新

  • 愛芳芳 优享时代官方账号 2022-05-26 15:43
    关注

    vue大概这样(未测试过)获取整棵树节点:
    let data = this.$refs.tree._props.data;
    然后把data和当前节点当做参数传递:

    getBeforeNode(data,node){//获取同级前一个节点,data整棵树节点,node当前节点
              for(let i=0;i<data.length;i++){
                if(data[i].id == node.id){
                  if(i > 0){
                    return data[i-1];
                  }else{//没有前面一个节点
                    return null;
                  }
                }else if(data[i].children){//有下级,递归查询
                  this.getBeforeNode(data[i].children,node);
                }
              }
            },
            getAfterNode(data,node){//获取同级后一个节点,data整棵树节点,node当前节点
              for(let i=0;i<data.length;i++){
                if(data[i].id == node.id){
                  if(i < (data.length - 1)){
                    return data[i+1];
                  }else{//没有后面一个节点
                    return null;
                  }
                }else if(data[i].children){//有下级,递归查询
                  this.getAfterNode(data[i].children,node);
                }
              }
            },
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 6月8日
  • 已采纳回答 5月31日
  • 创建了问题 5月26日

悬赏问题

  • ¥15 Stata链式中介效应代码修改
  • ¥15 latex投稿显示click download
  • ¥15 请问读取环境变量文件失败是什么原因?
  • ¥15 在若依框架下实现人脸识别
  • ¥15 添加组件无法加载页面,某块加载卡住
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用