vue 列表自动滚动到制定位置

2023-11-07

背景:业务开发中遇到一个需求,是要求跳转到新页面,并默认选中内容,如果内容在列表的位置靠后,就需要滚动到可见范围内。

实现:
1. 循环实现列表,为每个item添加id,**:id="'item' + index"**,方便后续查找对应项
 

<div v-for="(item,index) in dataList" :id="'item' + index" :key="index" class="item">
   <span>item: {{ item.name }}</span>
</div>

2. 待列表加载完后,执行滚动事件

// count 默认选中内容的序号
document.getElementById('item' + count).scrollIntoView()

知识点:
1. scrollIntoView:Element.scrollIntoView() 方法让当前的元素滚动到浏览器窗口的可视区域内。
2. 未避免事件执行失败,一定要在页面加载完成才能触发事件,推荐2种方式

   2.1 在mounted事件中触发
   2.2 在执行事件时,用this.$nextTick保证页面加载完成

 this.$nextTick(() => {
    document.getElementById('item' + count).scrollIntoView()
 })

代码: 以下是一个小demo,可直接执行

<template>
  <div class="white-body-view">
    <div class="content-view">
      <div v-for="(item,index) in dataList" :id="'item' + index" :key="index" class="item">
        <span>item: {{ item.name }}</span>
      </div>
    </div>
  </div>
</template>
<script>
export default {
  data() {
    return {
      dataList: [
        {
          name: '1'
        },
        {
          name: '2'
        },
        {
          name: '3'
        },
        {
          name: '4'
        },
        {
          name: '5'
        },
        {
          name: '6'
        },
        {
          name: '7'
        },
        {
          name: '8'
        },
        {
          name: '9'
        },
        {
          name: '10'
        },
        {
          name: '11'
        },
        {
          name: '12'
        }
      ]
    }
  },
  mounted() {
    document.getElementById('item5').scrollIntoView()
  }
}
</script>
<style lang="scss">
.content-view {
  height: 200px;
  width: 200px;
  overflow: auto;
}
.item {
  line-height: 40px;
}
</style>

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue 列表自动滚动到制定位置 的相关文章

  • c++使用proto文件方法简介

    GoogleProtocol Buffers 简称 Protobuf 是 Google 公司内部的混合语言数据标准 它提供一种轻量 高效的结构化数据存储结构 简介 为什么要使用protobuf 1 官方文档中提到一些protobuf的优点
  • vscode 配php环境的正确姿势

    看了很多网上的教程 很乱 很难找到一篇好的文章 经过多重筛选以及我的亲身实践 终于找到了一个很好地办法 因为本人耐心比较有限 写的很不详细 都是一些大纲 以及本人遇到的一些问题的总结 遇到啥问题 多百度 多自己动手试试吧 搭环境这个东西 烦
  • Listary 文件搜索浏览增强工具

    Listary介绍及升级 Listary简介 Listary下载 Listary安装 Listary使用 Listary 升为专业版 Listary Pro Listary简介 Listary是一款强大的全盘文件搜索 软件启动效率工具 双击
  • h5页面做微信公众号分享,一直出现无效签名,错误码:63002,invalid signature

    刚接手参与一个h5页面的项目 需要分享到微信 能看到数据正常的写入 但是偏偏分享出去就没有了设置好的标题 描述 和图片 打开的链接也是自己分享时所在的页面url 期间一直有报无效签名的错 不管是用原生微信还是插件去写 都一样 找了两天都没找
  • mysql中常见的聚合函数

    1 聚合函数的介绍 聚合函数又叫组函数 通常是对表中的数据进行统计和计算 一般结合分组 group by 来使用 用于统计和计算分组数据 常用的聚合函数 count col 表示求指定列的总行数 max col 表示求指定列的最大值 min
  • VS Code常用快捷键

    1 删除一行 快捷键 ctrl shift K 光标停在要删除的行 然后按下ctrl shift K即可删除该行 2 选定多个相同的单词 快捷键 ctrl d 先双击选定一个单词 然后按下 ctrl d 可以往下依次选择相同的单词 3 快速
  • 韩顺平java基础学习笔记一

    目录 面向对象编程 基础部分 7 1类和对象 7 2 成员方法 7 3 成员方法传参机制 非常非常重要 7 4 方法递归调用 非常非常重要 比较难 7 5 方法重载 OverLoad 7 6 可变参数 7 7 作用域 7 8 构造方法 构造
  • latex插图位置问题

    使用figure会进行浮动环境 这样插的图latex会自动调整 一般我们不需要这样的功能 可以使用 code begin figure h end figure code 或者使用 includegraphics 插入 如果列figure估
  • 【大数据】CDC 技术:变化数据捕获

    CDC 技术 变化数据捕获 1 什么是 CDC 2 批处理 vs CDC 3 四种 CDC 的实现方法 3 1 表元信息 Table metadata 3 2 表求差 Table differences 3 3 数据库触发器 Trigger
  • 华为OD机试-多个数组合并

    题目描述 现在有多组整数数组 需要将他们合并成一个新的数组 合并规则从每个数组里按顺序取出固定长度的内容 合并到新的数组 取完的内容会删除掉 如果改行不足固定长度 或者已经为空 则直接取出剩余部分的内容放到新的数组中继续下一行 输入描述 第
  • 关于《Python黑帽子:黑客与渗透测试编程之道》的学习笔记

    本篇文章是学习 Python黑帽子 黑客与渗透测试编程之道 的笔记 会持续地将书上的代码自己敲一遍 从而让自己对Python的安全编程有更多的了解 同时希望各位可以给给建议 不足之处太多了 第一章 设置Python环境 Kali Linux
  • 机器学习实战学习笔记(十三)利用SVD简化数据

    PS 该系列数据都可以在图灵社区 点击此链接 中随书下载中下载 如下 1 SVD的应用 奇异值分解 优点 简化数据 去除噪声 提高算法的结果 缺点 数据的转换可能难以理解 适用数据类型 数值型数据 1 1 隐形语义索引 最早的SVD应用之一

随机推荐

  • 并发测试异常[Address already in use: no futher infomation]

    前言 测试的同事反馈接口返回异常 如下 I O error on POST request for 接口地址 Address already in use connect nested exception is java net BindE
  • 动漫短视频在哪下载?3个网站教你快速找到

    动漫作为新兴的朝阳产业 受众群体越来越广 动漫短视频剪辑也越来越多 但很多人都有一个疑惑 动漫短视频在哪下载 素材怎么找呢 今天就给大家介绍一下 01 易撰 首先就是易撰 易撰视频库可以说是全网最全面的视频素材库了 包含了抖音 快手 美拍等
  • Mysql操作

    完成下面的操作 请写出修改表的SQL语句并运行 1 现要新增两个字段 籍贯和邮箱 A native 籍贯 数据类型为20位可变长字符串 放在性别列的后面 B email 邮箱 数据类型为50位可变长字符串 放在最后一列 2 设学生表stud
  • Golang笔记-大小写作用范围

    验证作用范围所使用的目录结构 其中main go内容如下 package main import encoding json fmt practice mulu1 practice mulu2 practice mulu4 1 即使mulu
  • Kubernetes入门学习-十九-网络配置插件flannel-01

    最近学习k8s遇到很多问题 建了一个qq群 153144292 交流devops k8s docker等 Kubernetes的网络模型和网络策略 Kubernetes网络模型和CNI插件 在Kubernetes中设计了一种网络模型 要求无
  • Redhat 设置北京时间

    Redhat 设置北京时间 系统版本 查看当前时间 修改时区 修改时间 系统版本 redhat 版本 6 5 wuxt localhost cat etc redhat release Red Hat Enterprise Linux Se
  • HiBlock社区:区块链链上数据的认知与探索

    跨界知识聚会系列文章 知识是用来分享和传承的 各种会议 论坛 沙龙都是分享知识的绝佳场所 我也有幸作为演讲嘉宾参加了一些国内的大型会议 向大家展示我所做的一些成果 从听众到演讲感觉是不一样的 把知识分享出来 你才能收获更多 关于作者 张丹
  • Pycharm常用快捷键及设置

    Pycharm 一 Pycharm常用快捷键 二 常用设置 1 代码提示忽略大小写敏感 2 滚轮缩放和自动换行 包括编辑栏和控制台 3 字体与代码配色 仅供参考 一 Pycharm常用快捷键 Ctrl 行注释 Ctrl D 复制选定的区域或
  • 【electron】应用在线升级

    流程 1 设置feedUrl 每次登录应用后更新feedUrl 如果需要灰度测试 可以添加uuid的参数 由服务端判断是否命中 注意 feedUrl需要在checkUpdate之前调用 主进程 初始化 private cancellatio
  • U3D客户端框架之 音效管理器 与 Fmod介绍安装导入Unity

    一 Fmod介绍与安装导入Unity 1 Fmod与Unity内置Audio播放器对比 Unity内置的Audio底层使用的是FMOD 但是功能不够齐全 高级一点的功能如混合 Mix 等无法使用 音效管理应该和Unity工程解耦合 这样子可
  • Python中处理异常和错误

    作为一种强大且灵活的编程语言 Python 提供了许多机制来处理程序运行过程中可能出现的异常和错误 本文将详细介绍如何在 Python 中以 优雅 高效 的方式进行异常处理 并提供实用技巧帮助开发者更好地应对各种情况 无论您是初学者还是有经
  • 单相桥式全控整流电路

    单相全控桥式带电阻负载时的电路 带电阻负载的工作情况 电路分析 闸管VT1和VT4组成一对桥臂 VT2和VT3组成另一对桥臂 在u2正半周 即a点电位高于b点电位 若4个晶闸管均不导通 id 0 ud 0 VT1 VT4串联承受电压u2 在
  • linux echo彩色打印

    定义了三个颜色 把打印的内容加载头和尾巴之间即可 pt head green 033 32 1m pt head red 033 31 1m pt head yellow 033 33 1m pt tail 033 0m echo pt h
  • STM32学习笔记-大小端模式详解

    最低有效字节在最前端的方式 小端法 最高有效字节在最前端的方式 大端法 小端模式 Little Endian 小端模式 Little Endian 也称为Intel顺序 最低有效字节 首先存储 例如 int16数据0x0123467在地址单
  • vue3:使用:图片生成二维码并复制

    实现在 vue3 中根据 url 生成一个二维码码 且可以复制 注 复制功能 navigator clipboard write 只能在安全的localhost 这种安全网络下使用 https中需要添加安全证书 且在域名 例 https w
  • 打印二维、多行的PDF-417条形码控件PDF417 Fonts and Encoder

    PDF417 Fonts and Encoder条形码控件使您可以在带有支持TrueType BDF FON SFP PCL laserjet soft PostScript type 1 Binary及PostScript ASCII字体
  • Qt QT_WIDGETS_LIB宏

    如果定义了QT WIDGETS LIB 那么应用程序的对象就是QApplication 如果定义了QT GUI LIB 那么应用程序的对象就是QGuiApplication 否则 应用程序的对象就是QCoreApplication 如果使用
  • 入门机器学习(西瓜书+南瓜书)贝叶斯分类器总结(python代码实现)

    入门机器学习 西瓜书 南瓜书 贝叶斯分类器总结 python代码实现 一 贝叶斯分类器 1 1 通俗理解 先来看两个公式 P A B P
  • redis的五种数据类型详细图解

    众所周知 redis有五种数据类型 string 字符串 lists 列表 sets 无序的字符串集合 zsets 有序的字符串集合 hashs 哈希类型 一 string 字符串类型 在Redis中字符串类型的Value最多可以容纳的数据
  • vue 列表自动滚动到制定位置

    背景 业务开发中遇到一个需求 是要求跳转到新页面 并默认选中内容 如果内容在列表的位置靠后 就需要滚动到可见范围内 实现 1 循环实现列表 为每个item添加id id item index 方便后续查找对应项 div class item