uniapp 触底加载

方式一

onReachBottomDistance

缺点:需要整个页面滑动,局部滑动触发不了

javascript 复制代码
{
// pages.json
// 路由下增加 onReachBottomDistance
"path": "detailed/detailed",
  "style": {
    "navigationBarTitleText": "收益明细",
    "onReachBottomDistance": 50 //距离底部多远时触发 单位px
  }
},
javascript 复制代码
// detailed.js
// 触底 与 onLoad,onShow同级
onLoad(options) {},
onShow() {},
onReachBottom() {
  if (this.page < this.totalPages) {
    this.page++
  } else {
    return uni.showToast({
      title: '没有更多数据',
      icon: 'none',
      duration: 2000
    });
  }
  
  uni.showLoading({
  	title: '加载中'
  });
  
  // 请求
  this.getList()
}

方式二

scroll-view

文档:https://uniapp.dcloud.net.cn/component/scroll-view.html

使用竖向滚动时,需要给一个固定高度,通过 css 设置 height;

使用横向滚动时,需要添加white-space: nowrap;样式。

缺点:隐藏不了滚动条

javascript 复制代码
// 给固定高度
.roll-list {
  width: 100%;
  height: 100%;
  // 隐藏不了滚动条
  &::-webkit-scrollbar {
    display:none
  }
}
javascript 复制代码
<scroll-view
  class="roll-list"
  @scrolltolower="scrolltolower" // 触底事件
  scroll-y="true" // 竖向滚动
  show-scrollbar="false" // 隐藏滚动条
  >
	<view>示例</view>
	<view>示例</view>
	<view>示例</view>
</scroll-view>
javascript 复制代码
data() {
	return{
		this.page: 1,
    	this.totalPages: ''
    	this.list: []
	}
},
methods: {
	getList() {
	 api.list({page: this.pages.page,}).then(res => {
	    this.page = res.page
	    this.totalPages = res.totalPages
	    // es6 合并数组
	    this.list = [...this.list,...res.items]
	    uni.hideLoading(); // 关闭加载动画
	  })
	},
	scrolltolower() {
	  if (this.page < this.totalPages) {
	    this.page++
	  } else {
	    return uni.showToast({
	      title: '没有更多数据',
	      icon: 'none',
	      duration: 2000
	    });
	  }
	  
	  uni.showLoading({
	  	title: '加载中'
	  });
	  
	  // 请求
	  this.getList()
	}
}
相关推荐
专业程序开发源1 小时前
django新闻推荐系统70655-计算机课程设计、毕业设计
java·javascript·spring boot·后端·python·django·课程设计
l1t1 小时前
修复WSL CreateInstance/E_UNEXPECTED和 mounted read-only 错误
linux·windows·wsl
acd120091 小时前
前端随笔:数据明明变了,Vue 页面就是不更新
前端·javascript·vue.js
kakakahahahaha2 小时前
Windows电脑卡死恢复流程:任务管理器、Ctrl Alt Delete、explorer与DWM重启
windows·电脑·笔记本电脑·软件需求·电脑卡死
kakakahahahaha2 小时前
Windows鼠标失灵排查:Ctrl Alt Delete、Mouse Keys、USB控制器与驱动修复
windows·驱动开发·电脑·笔记本电脑·软件需求
Vex2une2 小时前
Windows 资源监视器发展史:从任务管理器附件到系统级诊断利器
windows·系统监控·任务管理器·诊断工具·etw·resmon·资源监视器
传人3 小时前
悬停旋转放大和位移效果如何写
前端·javascript·css
羲云3 小时前
给 Vue 页面加个 Markdown 编辑器:ME.js 的接入、图片粘贴与音视频
javascript·vue.js
Vex2une3 小时前
Windows 事件查看器发展史:从 NT 3.1 黑匣子到企业级安全日志平台
windows·事件日志·事件查看器·event viewer·etw·eventvwr·系统诊断
sukalot3 小时前
Windows 驱动实例分析系列:libwdi 驱动分析 - libwdi 篇(七)
windows