解决使用 UniApp 搭配 Vue3 小程序开始 使用uview-plus 的返回顶部up-back-top中onPageScroll 不触发的问题

解决使用 UniApp 搭配 Vue3 小程序开始 使用uview-plus 的返回顶部up-back-top中onPageScroll 不触发的问题

页面引入方法都正确 结果方法不触发

javascript 复制代码
<up-back-top :scroll-top="scrollTop"></up-back-top>
<script setup>  
import { ref } from 'vue';  
import { onPageScroll } from '@dcloudio/uni-app';
  
// 创建响应式数据 scrollTop  
const scrollTop = ref(0);  
  
// onPageScroll 方法来更新 scrollTop 的值  
onPageScroll((e) => {
	scrollTop.value = e.scrollTop;
});
</script>

排查问题后发现 需要注意以下几个问题 否则不会触发箭监听滚动 onPageScroll 方法

第一:最外层盒子容器的 css中 需要设置高度 但是不能设置:overflow: hidden 或者overflow-y: auto或overflow-y: scroll

第二:使用了自定义导航栏 需要设置 navigationStyle: custom

第三:在 pages.json 的页面配置中,需要确保未禁用滚动监听 "disableScroll": false

javascript 复制代码
// pages.json
{
    "pages": [{
        "path": "pages/index/index",
        "style": {
            "navigationBarTitleText": "首页",
            "disableScroll": false // 确保为 false
        }
    }]
}

完成以上 即可实现返回顶部组件生效

========================================================

如果不想使用组件 自定义方法

javascript 复制代码
<view class="upward" v-if="isShow" @click="Totop()">
   <u-icon name="arrow-upward" color="#434343" size="28"></u-icon>
</view>
<script setup>  
import { ref } from 'vue';  
import { onPageScroll } from '@dcloudio/uni-app';
// 创建响应式数据 scrollTop  
//const scrollTop = ref(0);  
let isShow = ref(false)
// onPageScroll 方法来更新 scrollTop 的值 这个方法需要注意上面三点问题 是否不一致
onPageScroll((e) => {
	//scrollTop.value = e.scrollTop;
	if(e.scrollTop > 400){
		isShow.value = true
	}else{
		isShow.value = false
	}
});
function Totop(){
	uni.pageScrollTo({
       scrollTop: 0,//滚动到页面的目标位置
       duration: 300
   	});
}
</script>
相关推荐
小时前端2 天前
微信小程序选不了本地文件?用 web-view + H5 一招搞定
前端·微信小程序·uni-app
Mr_li2 天前
给 Vue 开发者的 uni-app 快速指南
vue.js·uni-app
anyup2 天前
🔥2026最推荐的跨平台方案:H5/小程序/App/鸿蒙,一套代码搞定
前端·uni-app·harmonyos
Mintopia3 天前
Vue3 项目如何迁移到 uni-app x:从纯 Web 到多端应用的系统指南
uni-app
Mintopia3 天前
uni-app x 发展前景技术分析:跨端统一的新阶段?
uni-app
不爱说话郭德纲4 天前
告别漫长的HbuilderX云打包排队!uni-app x 安卓本地打包保姆级教程(附白屏、包体积过大排坑指南)
android·前端·uni-app
HashTang6 天前
【AI 编程实战】第 12 篇:从 0 到 1 的回顾 - 项目总结与 AI 协作心得
前端·uni-app·ai编程
JunjunZ6 天前
uniapp 文件预览:从文件流到多格式预览的完整实现
前端·uni-app
郑州光合科技余经理6 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
TT_Close6 天前
“啪啪啪”三下键盘,极速拉起你的 uni-app 项目!
vue.js·uni-app·前端工程化