vue2.0 el-tree 锚点跳转

在这里插入图片描述

<el-col :span="4" style="border-right: 0px solid rgba(70,166,255,0.37); min-height:500px;">
              <h3>文章目录</h3>
              <el-tree
                class="filter-tree"
                :data="doccata"
                :props="defaultProps"
                default-expand-all
                @node-click="treeNodeClick"
                ref="tree">
              </el-tree>
            </el-col>
            <el-col :span="16">
              <h3 style="text-align:center">{{document.name}}</h3>
              <div v-for="(item,index) of doccata">
                <div :id="item.id" class="right-zhang" :ref="item.id">
                  {{item.label}}
                </div>
                <div v-for="(item2,index2) of item.childrenNr" class="right-nr" :id="item2.id" :ref="item2.id">
                    {{item2.tiaoNr}}
                </div>
              </div>
            </el-col>
getDetai(docId).then(response => {
        let dataList=response.data.detailList
        this.document=response.data.document
        this.doccata=[];
        let newZhangList=this.fn1(dataList)
        newZhangList.forEach(item=>{
          console.log(item)
          let temp={};
          temp.id=item.id+1000;
          temp.label=item.zhangNr

          let newZhang2List=this.fn2(dataList,item.zhangNr)
          let children=[];
          let childrenNr=[];
          newZhang2List.forEach(item=>{
            let temp={};
            temp.id=item.id;
            temp.label=item.zhang
            children.push(temp)
            childrenNr.push(item)
          })
          temp.children=children
          temp.childrenNr=childrenNr
          this.doccata.push(temp)
        })
      })
fn1(arr) {
      const res = new Map();
      return arr.filter(arr => !res.has(arr.zhangNr) && res.set(arr.zhangNr, arr.zhangNr));
    },
    fn2(arr,zhangNr) {
      return arr.filter(arr => arr.zhangNr==zhangNr);
    },

锚点跳转

  //点击目录
    treeNodeClick(data,node,el){
       this.$refs[data.id][0].scrollIntoView(true)
    },

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值