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>

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

相关推荐
威联通安全存储3 分钟前
破除“重前端、轻底层”的数字幻象:如何夯实工业数据的物理底座
前端·python
inksci13 分钟前
Js生成安全随机数
前端·微信小程序
吴声子夜歌1 小时前
TypeScript——泛型
前端·git·typescript
azhou的代码园1 小时前
基于SpringBoot+微信小程序的图片识别科普系统
spring boot·后端·微信小程序
猩猩程序员2 小时前
Pretext:一个绕过 DOM 的纯 JavaScript 排版引擎
前端
竹林8182 小时前
从“连接失败”到丝滑登录:我用 ethers.js 连接 MetaMask 的完整踩坑实录
前端·javascript
神舟之光2 小时前
jwt权限控制简单总结(乡村意见簿-vue-express-mongdb)
前端·vue.js·express
铭毅天下2 小时前
EasySearch Rules 规则语法速查手册
开发语言·前端·javascript·ecmascript
GISer_Jing2 小时前
AI Agent操作系统架构师:Harness Engineer解析
前端·人工智能·ai·aigc
英俊潇洒美少年2 小时前
css中专门用来提升渲染性能、减少重排重绘的属性
前端·css