js:
const db = wx.cloud.database()
const _ = db.command
const col = "test"
const sql = {
_id: _.neq(1)
} //获取所有记录
Page({
data: {
isEndOfList: false,
list: [],
limit: 20 //每次拉取数量
},
onLoad: function(options) {
this.getData()
},
getData: function() {
db.collection(col)
.where(sql)
.skip(this.data.list.length)
.limit(this.data.limit)
.get()
.then(res => {
this.setData({
list: [...this.data.list, ...res.data], //合并数据
isEndOfList: res.data.length < this.data.limit ? true : false //判断是否结束
})
})
},
onReachBottom: function() {
this.data.isEndOfList || this.getData()
}
})
wxml
<view style="height:100px" wx:for='{{list}}' wx:key='none'>{{index}}</view>
<view style="padding:15px;text-align:center;color:grey" wx:if='{{list.length>limit}}'>
<view wx:if='{{(!isEndOfList)}}'>正在加载数据...</view>
<view wx:else>----END----</view>
</view>
骚的优雅~
感谢分享
感谢分享
我想问一下 在云函数里面如何写getData 进行翻页呢?
我研究一天一夜看到这代码,现在不断在骚啊,又优雅,偶买噶偶买噶赞叹的循环之中
二维数组加载?厉害了。这个方案可以规避setData的1M数据限制吗?
代码很精炼啊。加个db的初始化:var db = wx.cloud.database()
大佬,你这个代码有没有可能会触发多次请求,我没试过代码。
sao
https://developers.weixin.qq.com/community/develop/doc/000cca349c400084c5e77058c5b404