• 如何定位el-tree中的树节点当父元素滚动时如何定位子元素


    使用到的方法

    Element 接口的 scrollIntoView() 方法会滚动元素的父容器,使被调用 scrollIntoView() 的元素对用户可见。
    参数
    alignToTop可选
    一个布尔值
    如果为 true,元素的顶端将和其所在滚动区的可视区域的顶端对齐。相应的 scrollIntoViewOptions: {block: “start”, inline: “nearest”}。这是这个参数的默认值
    如果为 false,元素的底端将和其所在滚动区的可视区域的底端对齐。相应的 scrollIntoViewOptions: {block: “end”, inline: “nearest”}。
    scrollIntoViewOptions 可选 实验性
    一个包含下列属性的对象:
    behavior 可选
    定义滚动是立即的还是平滑的动画。该选项是一个字符串,必须采用以下值之一:
    smooth:滚动应该是平滑的动画。
    instant:滚动应该通过一次跳跃立刻发生。
    auto:滚动行为由 scroll-behavior 的计算值决定。
    block 可选
    定义垂直方向的对齐,start、center、end 或 nearest 之一。默认为 start。
    inline 可选
    定义水平方向的对齐,start、center、end 或 nearest 之一。默认为 nearest。

    详细参考mdn传送门

    测试效果图

    点击按钮快速定位到子节点
    在这里插入图片描述

    测试代码

    <!-- eslint-disable eqeqeq -->
    <!-- eslint-disable no-undef -->
    <template>
      <div>
        <div style="width: 200px;height: 200px;overflow: auto;">
          <el-tree :data="data" node-key="id" default-expand-all :props="defaultProps">
            <span slot-scope="{ node, data }">
              <span :id="data.id">{{ node.label }}</span>
            </span>
          </el-tree>
        </div>
        <el-button type="primary" style="margin-top: 100px;" @click="handleClick">主要按钮</el-button>
      </div>
    </template>
    <script>
    export default {
      data() {
        return {
          data: [{
              id: 1,
              label: '一级 1',
              children: [{
                id: 4,
                label: '二级 1-1',
                children: [{
                  id: 9,
                  label: '三级 1-1-1'
                }, {
                  id: 10,
                  label: '三级 1-1-2'
                }]
              }]
            }, {
              id: 2,
              label: '一级 2',
              children: [{
                id: 5,
                label: '二级 2-1'
              }, {
                id: 6,
                label: '二级 2-2'
              }]
            }, {
              id: 3,
              label: '一级 3',
              children: [{
                id: 7,
                label: '二级 3-1'
              }, {
                id: 8,
                label: '二级 3-2'
              }]
          }, {
              id: 4,
              label: '一级 4',
              children: [{
                id: 9,
                label: '二级 4-1'
              }, {
                id: 10,
                label: '二级 4-2'
              }]
          }, {
              id: 5,
              label: '一级 5',
              children: [{
                id: 11,
                label: '二级 5-1'
              }, {
                id: 12,
                label: '二级 5-2'
              }]
          }],
          defaultProps: {
            children: 'children',
            label: 'label'
          }
        }
      },
      async mounted() {
      },
      methods: {
        handleClick(){
          let node = document.getElementById('10')
          this.$nextTick(()=>{
            node.scrollIntoView()
          })
        }
    
      },
    
    }
    </script>
    
    <style lang="scss" scoped></style>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
  • 相关阅读:
    【Hack The Box】windows练习-- ServMon
    【脑机接口】基于运动想象的康复指导在脑卒中偏瘫患者中的应用
    英语翻译的重点词汇词组
    MySQL逻辑架构(2)
    0x499播客DeLight:刘毅谈 dYdX “叛逃”以太坊
    viple进阶2:打印九九乘法表
    Lora训练的参数和性能
    SPSS统计教程:卡方检验
    java培训之实验代码(格式化数字)
    基于SSM的公司仓库管理系统(有报告)。Javaee项目
  • 原文地址:https://blog.csdn.net/weixin_42343307/article/details/134488373