scroll-view无限滚动
时间: 2023-09-12 19:10:56 浏览: 127
Android实现带指示点的自动轮播无限循环效果
实现scroll-view无限滚动的方法:
1. 利用scroll-view的scroll事件和计算当前滚动位置,当滚动到一定位置时,动态地添加新的内容。
2. 在scroll-view的首尾分别添加一份相同的内容,当滚动到末尾时,跳到首部,实现无限循环滚动。
以下是第一种方法的示例代码:
```javascript
<scroll-view bindscroll="onScroll">
<view wx:for="{{list}}" wx:key="{{item.id}}">{{item.content}}</view>
</scroll-view>
// JS代码
Page({
data: {
list: [], // 初始数据为空
pageIndex: 1, // 当前页数
pageSize: 10, // 每页显示数量
isEnd: false // 是否已经滚动到底部
},
onScroll(e) {
const { scrollTop, scrollHeight, windowHeight } = e.detail;
if(scrollTop + windowHeight >= scrollHeight && !this.data.isEnd) {
// 滚动到底部,加载新数据
this.loadData();
}
},
loadData() {
// 发送请求获取数据,假设返回数据格式为 {list: [], total: 100}
wx.request({
url: 'xxx',
data: {
pageIndex: this.data.pageIndex,
pageSize: this.data.pageSize
},
success: (res) => {
const { list, total } = res.data;
const newList = this.data.list.concat(list);
const isEnd = newList.length >= total;
this.setData({
list: newList,
pageIndex: this.data.pageIndex + 1,
isEnd
});
}
});
}
});
```
在这个示例中,我们利用了scroll-view的scroll事件,在滚动到底部时触发加载新数据的操作。同时,我们需要记录当前页数、每页显示数量以及是否已经滚动到底部等状态,以便在加载新数据时更新这些状态。
阅读全文