微信小程序触底加载scroll-view

这篇具有很好参考价值的文章主要介绍了微信小程序触底加载scroll-view。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

微信小程序触底加载 scroll-view

微信小程序触底加载scroll-view

了解什么是触底加载?

需求:有个固定高度的容器,实现容器里面的内容触底加载
1、内容盒子的高度
2、盒子里内容的总高度
3、滚动条的scrollTop
触底加载的原理就是 当里面的容器触底的时候进行分页,请求接口合并数据

公式
盒子的高度+滚动条的scrollTop = 内容高度

使用原生的计算方法比较麻烦 因此市面上有很多关于触底加载的插件
我们这里使用的是 uni-app 里面的 scroll-view

scroll-view 属性

  • scroll-x:false - 允许横向滚动
  • scroll-y:false - 允许纵向滚动
  • show-scrollbar: 距顶部/左边多远时(单位px),触发 scrolltoupper 事件
  • scroll-top:false - 控制是否出现滚动条
  • @refresherrefresh: - 自定义下拉刷新被触发
  • @scroll: - 滚动时触发,event.detail = {scrollLeft, scrollTop, scrollHeight, scrollWidth, deltaX, deltaY}
  • @scrolltoupper:滚动到顶部/左边,会触发 scrolltoupper 事件
  • @scrolltolower:滚动到底部/右边,会触发 scrolltolower 事件
  • refresher-threshold:45 - 设置自定义下拉刷新阈值

实战上代码

亿点小知识:使用竖向滚动时,需要给 <scroll-view> 一个固定高度,通过 css 设置 height;使用横向滚动时,需要给<scroll-view>添加white-space: nowrap;样式。

页面 根据不同的需求开启不同的属性
<scroll-view
		 class="car-list"
		 refresher-enabled="true"
		:refresher-triggered="flag"
		@refresherrefresh="refresherrefresh"
		@scrolltolower="scrolltolower"
		scroll-y="true"
		>
		<view class="item-msg" v-for="(item, index) in list" :key="item.id" >
		{{item.name}}
		</view>
</scroll-view>
js 这里的逻辑大家可以根据自己的接口规则进行变动 主要的是看代码的逻辑

如有更好的代码逻辑 可以私信我 一起讨论

data() {
			return {
				list: [],
				flag:false,
				query: {
					per_page: 10,
					page: 1,
				},
				total:0,
			}
		},
methods: {
			refresherrefresh(){ // 下拉刷新
				this.flag = true // 开启下拉刷新
				this.query = {
					per_page: 10,
					page: 1,
				}
				this.list = []
				this.refreshFun()
				setTimeout(() => {
					this.flag = false; // 关闭下拉刷新
				}, 1000);
			},
			// 每次刷新需要用到的方法
			refreshFun(){
				if(this.index == 1 || this.index == 2){ // 判断是否需要传参 启用/禁用
						this.query.enabled = this.index == 1 ? 1 : 0
						this.init()
				}else{
						if(this.query.enabled == 1 || this.query.enabled == 0){
							delete this.query.enabled
						}
						this.init()
				}
			},
			// 触底加载
			scrolltolower () {
					const { list, total,query } = this
					if (list.length === total) return // 判断是否加载全部
					query.page++ // 触底加载 ++
					this.refreshFun()
			},
			async init () { // 数据渲染
				let { query } = this
				uni.showLoading() // 加载中
				let data = await 接口(query)
				uni.hideLoading() // 加载完成
				if ( data.code === SUCCESS ) {
					this.total = data.meta.total // 获取总数
					this.list = this.list.concat(data.data) // 合并数据
				}
			},
}

微信小程序触底加载scroll-view

以上就是微信小程序触底加载感谢大家的阅读
如碰到其他的问题 可以私下我 一起探讨学习
如果对你有所帮助还请 点赞 收藏谢谢~!
关注收藏博客 作者会持续更新…文章来源地址https://www.toymoban.com/news/detail-491437.html

到了这里,关于微信小程序触底加载scroll-view的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【微信小程序】scroll-view的基本使用

    |  scss里面的 .item:nth-child(1) index.wxml index.scss

    2024年02月07日
    浏览(52)
  • 微信小程序scroll-view去掉滚动条

    微信小程序scroll-view去掉滚动条 微信官方文档上面给出了显示和隐藏滚动条的属性 show-scrollbar ,把该属性设置为false,文档要求使用该属性要开启 enhanced 属性,把这个属性设置为true即可; 通过CSS设置滚动条隐藏: 值得注意的是: ::-webkit-scrollbar前要有 scroll-view 的标签名 或

    2024年02月11日
    浏览(67)
  • 微信小程序 scroll-view组件的基本使用

     scroll-view 组件 其实和view组件很像,结合上节课的内容我们接着尝试教大家一下这个组件怎么使用,现实中这个组件能实现的效果又有那些  上图是CSDN的一个私聊窗口界面,我么看图就能想象的到,左边的聊天对像窗口是不是可以滚动的,这时候小程序就可以通过scroll-vie

    2024年02月01日
    浏览(67)
  • 微信小程序--开发横向滚动条scroll-view

    一、话不多说,上代码 .wxml文件写法 css样式 js写法 二、解析  scroll-x=\\\"true\\\":表明是横向滚动 class=\\\"{{currentTab==index?\\\'scroll_item\\\':\\\'\\\'}}\\\":当点击时才会变色,其中currentTab的初始值是0,通过点击事件更改值

    2024年02月12日
    浏览(61)
  • 微信小程序scroll-view的scroll-into-view无效问题解决办法

    微信小程序的scroll-view组件中,scroll-into-view属性可以指定滚动到指定id的位置。但有时候,该属性可能会出现无效的情况。下面是几种可能的原因和解决办法: 1.scroll-into-view属性指定的id不存在或不可见 如果scroll-into-view属性指定的id在页面中不存在,或者该id所在的区域不可

    2024年02月02日
    浏览(66)
  • 微信小程序 scroll-view 实现自动滑动到底部

    要实现实时聊天功能的话,那么每次有新的消息进来之后,要自动的滚动到底部。 scroll-view 有一个属性 scroll-into-view : 把新进来的消息, push 添加到消息列表 messageList 中。 但页面不会自动往下滚动。 1、在 scrill-view 节点最下面加一个垫片节点。 需要说明的是:这里的 3 个

    2024年02月10日
    浏览(64)
  • Scroll-view的用法(网页和微信小程序)

    微信小程序: 1. 在wxml文件中,使用scroll-view标签包裹需要滚动的内容。 例如,下面的代码将一个view组件包裹在scroll-view中: 2. 设置scroll-view的高度和宽度,以及滚动方向,可以通过设置属性来控制,如scroll-x和scroll-y。 scroll-x和scroll-y分别用于控制scroll-view的横向滚动和纵向滚

    2024年02月03日
    浏览(47)
  • uniapp/微信小程序 scroll-view 设置scroll-x 失效问题解决

    实现一个横向滑动的scrollview,直接给scroll-view设置 scroll-x ,但是并没有实现想药实现横向滑动的效果,先看代码 仔细看了官网后发现有这样一句话, 然而加上也并没有实现,直接说解决方案吧! 使用横向滚动时,不仅仅需要给 scroll-view 添加 white-space: nowrap; 样式,还要给他

    2024年02月16日
    浏览(57)
  • 微信小程序实现锚点效果 scroll-view的scroll-into-view属性

    小程序中实现锚点效果,可以直接使用scroll-view的scroll-into-view属性就可以实现锚点效果,比较方便简单。那么需要用到scroll-view那些参数呢,下面具体讲讲: scroll-x | scroll-y:设置滚动刚想 scroll-into-view:子元素id(id不能以数字开头)。设置哪个方向可滚动,则在哪个方向滚动

    2024年02月13日
    浏览(43)
  • 微信小程序scroll-view组件设置 scroll-top无效问题解决

    微信小程序官方提供了一个可以设置滚动条位置的方法 scroll-top 在实际运用过程中,发现设置了scroll-top无效,滚动条位置并没有发生变化,是因为微信小程序的官方框架处于性能考虑,初始化设置scroll-top不会重新渲染页面,需要将scroll-top的是放在一个事件内执行才可以生效

    2024年02月11日
    浏览(70)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包