但是在实验上拉触底的过程中,一定要把内容占满整个屏幕或者超过这个屏幕才可以提现出来,因为上拉触底本身就是滑动的时候刷到最底下之后产生效果的,从而可以进行一些翻页等功能
可以在全局或单独的页面配置, 在app.json或页面的page.json文件中,配置onReachBottomDistance属性,该属性决定了页面上拉触底事件触发时距页面底部的距离(单位为px),默认值为50。
{
"window": {
"onReachBottomDistance": 50 // 设置上拉触底触发距离
}
}
设置成50之后,当图片中的滚动条距离页面底部还有50px的时候就会触发上拉触底
在页面的.js文件中,通过onReachBottom方法监听上拉触底事件。 例如我们想监听index.wxml页面的上拉触底事件,那么就在index.js中配置监听上拉触底事件。
//index.js
Page({
// 监听上拉触底事件
onReachBottom: function() {
console.log("刚刚触发了上拉触底")
}
})
监听页面的上拉触底事件,因此我们先做一个小案例演示一下,因为上拉触底需要的前提是当前页面充满了内容,然后向下滑动的时候超过的本页内容的边缘才会触发,所以我们先通过view渲染的方式将颜色模块充满整个屏幕
index.wxml文件:
<button bindtap="student_num">
学生数+1
</button>
<view>
<text>当前学生人数:{{ num }}</text>
</view>
<view class="box"></view>
重点是<view class="box"></view>
语句
index.wxss文件:
现在对index.wxml文件中的box进行一些渲染,让它有颜色,并且充满整个屏幕
.box {
height: 2100rpx;
background-color: aqua;
}
index.json文件:
现在需要我们开启上拉触底的配置
{
"navigationBarBackgroundColor": "#ff0000",
"navigationBarTitleText": "公众号:小白的大数据之旅",
"enablePullDownRefresh": true,
"backgroundTextStyle": "dark",
"backgroundColor": "#0000FF",
"onReachBottomDistance": 100
}
重点是:“onReachBottomDistance”: 100 表示触底距离是100px,当滚动条距离页面底部不足100px的时候就会触发上拉触底
index.js文件:
开启上拉触底的配置之后,下面要做的就是监听上拉触底,如果触发了上拉触底就在控制台上输出“刚才触发了上拉触底”
//index.js
Page({
// 监听上拉触底事件
onReachBottom: function() {
console.log("刚刚触发了上拉触底")
}
})
现在来演示一下效果,仔细看console控制台中输出的内容,而且显示上拉触底的次数:
可以看到我们连续重复触发了好多次,但是在实际应用场景中,当用户滑动到最底部的时候触发了上拉触底功能,然后就开始请求下一页的内容,这个时候请求还没有完成,用户就又一次滑动再次触发了上拉触底功能,那么这个时候就不能再次请求了,正常情况下应该设置为当上一次触发了上拉触底功能没有结束的时候再次触发上拉触底功能不生效