基于n-scrollbar,滚动到列表指定位置

前言

当用户点击外部时,根据表示将滚动条滚动到指定数据位置,从而方便用户查看相关信息。下面以列表为例。

逻辑

  1. 使用 nextTick() 确保 DOM 已经更新
  2. 直接通过 document.querySelector 查找目标元素
  3. 使用 scrollIntoView 方法实现平滑滚动到视图中央

实现

html 复制代码
<n-button @clcik="scrollToItem(5)">跳转到第五条数据</n-button>
<n-scrollbar style="max-height: 43vh;"> 
    <div class="work-item" v-for="(item, index) in workList" :key="index">
        <div class="row"> 
            <div class="row-item"> 
                <div class="title">{{ item.plateNo || '--' }}</div> 
                <div class="workLinkName">({{ item.jobTypeName || '--' }})</div> 
            </div> 
        </div> 
    </div>
</n-scrollbar>
js 复制代码
/**
 *滚动到指定索引的元素
 *@params index 数据所在列表下标
 */
function scrollToItem(index) {
  nextTick(() => {
    if (workList.value.length > index) {
      const targetElement = document.querySelector('.work-item:nth-child(' + (index + 1) + ')');
      if (targetElement) {
        targetElement.scrollIntoView({
          behavior: 'smooth',
          block: 'center'
        });
      }
    }
  });
}

效果

滚动条默认位置为开头,点击"跳转到第五条数据"按钮后,效果如下:

相关推荐
Lorin 洛林1 小时前
一文读懂 Agent Skills
前端·网络
newbe365242 小时前
我们如何使用 impeccable 优化前端界面设计与实现稳定性
前端·人工智能·分布式·github·aigc·wpf
KaMeidebaby8 小时前
卡梅德生物技术快报|蛋白 N 端测序在重组贻贝融合蛋白表征中的应用,解决原核表达序列偏移工艺难题
前端·人工智能·物联网·算法·百度
kyriewen10 小时前
我筛了 1400 个 Claude Code Skills,留下 5 个天天在用的
前端·ai编程·claude
JNX_SEMI10 小时前
AT2401C 2.4GHz 全集成射频前端单芯片技术解析
前端·单片机·嵌入式硬件·物联网·硬件工程
anOnion10 小时前
Agentic 前端开发之 实时显示 AI Agent 终端输出
前端·javascript·人工智能
随风一样自由10 小时前
【前端领域】2026最新前端领域全梳理(框架/工具/AI/跨端/底层标准/就业趋势)
前端·人工智能·前端框架
这是个栗子10 小时前
【前端性能优化】优化数据加载:用 Promise.all 从串行到并行
前端·javascript·性能优化·异步编程·前端优化·promise.all
fei_sun11 小时前
黑洞路由(Null Route/空接口路由)
服务器·前端·javascript
大爱一家盟11 小时前
告别卡点BGM同质化 2026原创卡点音乐素材下载网站 TOP5 推荐
大数据·前端·人工智能