uniapp中使用uview的u-list 或者内置组件scroll-view 实现tabs切换 list会到顶部实现

需求背景

页面中用到的 u-list 同 scroll-view 因为u-list底层也是对scroll-view进行的二次封装

想要实现顶部tabs切换的时候 list 回到顶部功能,官方提供了api并没给介绍怎么使用,在我们使用的时候不得不去翻看源码,在源码中可以清晰的看到底层的实现

首先通过onScroll获取滚动的高度进行记录

2、当你切换tabs的时候进行设置scrollTop高度并赋值给scrollTop 属性

scss 复制代码
    if (!innerScrollTop.value) return;      scrollTop.value = innerScrollTop.value;      nextTick(() => (scrollTop.value = 0));
 // 为了结局页面tabs切换比较快可以添加 延迟重置进行优化
// 建议将此步骤放在数据请求完成再进行操作setTimeout(() => {      scrollTop.value = innerScrollTop.value;      nextTick(() => (scrollTop.value = 0));    }, 300);

3、在template中 使用

ruby 复制代码
 <u-list        @scrolltolower="scrolltolower"        :scrollTop="scrollTop"        :height="pageHeight"        @scroll="scroll"      >
xxxxxxxxxxxxxx
</u-list>

以上图片是源码里面的内容,代码片段是功能代码

相关推荐
JYeontu4 分钟前
浏览器书签还能一键下载B站视频封面?
前端·javascript
陈随易4 分钟前
Bun v1.2.16发布,内存优化,兼容提升,体验增强
前端·后端·程序员
聪明的水跃鱼6 分钟前
Nextjs15 基础配置使用
前端·next.js
happyCoder7 分钟前
如何判断用户设备-window.screen.width方式
前端
Sun_light13 分钟前
深入理解JavaScript中的「this」:从概念到实战
前端·javascript
小桥风满袖14 分钟前
Three.js-硬要自学系列33之专项学习基础材质
前端·css·three.js
聪明的水跃鱼19 分钟前
Nextjs15 构建API端点
前端·next.js
小明爱吃瓜35 分钟前
AI IDE(Copilot/Cursor/Trae)图生代码能力测评
前端·ai编程·trae
不爱说话郭德纲40 分钟前
🔥Vue组件的data是一个对象还是函数?为什么?
前端·vue.js·面试
绅士玖43 分钟前
JavaScript 中的 arguments、柯里化和展开运算符详解
前端·javascript·ecmascript 6