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>

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

相关推荐
向葭奔赴♡23 分钟前
CSS是什么?—— 网页的“化妆师”
前端·css
黑犬mo27 分钟前
在Edge、Chrome浏览器上安装uBlock Origin插件
前端·edge
excel33 分钟前
🧩 Vue 3 watch 源码详解(含完整注释)
前端·javascript·vue.js
大前端helloworld35 分钟前
前端梳理体系从常问问题去完善-网络篇
前端·面试
excel40 分钟前
🌿 一文看懂 Vue 3 的 watch 源码:从原理到流程
前端
繁依Fanyi2 小时前
让工具说话:我在 Inspira Board 里用 AI 把“能用、好用、可复用”落成了日常
前端
weixin_456904272 小时前
C# 中的回调函数
java·前端·c#
kura_tsuki3 小时前
[Web网页] LAMP 架构与环境搭建
前端·架构
yinuo3 小时前
UniApp+Vue3多分包引入同一 npm 库被重复打包至 vendor 的问题分析与解决
前端
码界奇点3 小时前
Spring Web MVC构建现代Java Web应用的基石
java·前端·spring·设计规范