云开发(微信-小程序)笔记(十一)---- 分页,不简单啊
1.基础操作与云函数区别
分页可以运行数据库的简单操作进行查询,也可用云函数进行查询。
重点:基础操作输出的只有20条数据,云函数可以自定义,最高100条
接下来我就从基础操作与云函数两方面进行分页的编写
首先需要自己准备个数据集num,上传到云数据库
我的数据库,免费下载!
2.基础操作进行分页
1.编写js
部分
// pages/fenye/fenye.js
Page({
data: {
list: []
},
onLoad(options) {
this.getList()
},
getList() {
wx.showLoading({
title: '加载中...',
})
let len = this.data.list.length
console.log('当前list的长度', len)
wx.cloud.database().collection('num')
.skip(len)
.get()
.then(res => {
console.log('请求成功', res)
//成功就隐藏‘加载中’的提示
wx.hideLoading()
//如何最新返回的数据为空,就提示
if (res.data <= 0) {
wx.showToast({
icon: 'none',
title: '已经掏空了!',
})
}
//携带的数据
this.setData({
list: this.data.list.concat(res.data) //数据的追加,如1 => 1,2 => 1,2,3
})
})
.catch(res => {
//失败也隐藏‘加载中’的提示
wx.hideLoading()
console.log('请求失败', res)
})
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
this.getList()
console.log('sss')
}
})
2.修改wxml
部分
<!--pages/fenye/fenye.wxml-->
<view wx:for="{{list}}">
<view class="num">
{{item.num}}
</view>
</view>
3.修改wxss
部分
.num{
height: 200px;
background-color: gold;
border-bottom: 1px solid red;
}
3.云函数进行分页
1.修改js
部分
// pages/fenye-yun/fenye-yun.js
Page({
data: {
list: []
},
onLoad(options) {
this.getList()
},
getList() {
wx.showLoading({
title: '加载中...',
})
let len = this.data.list.length
console.log('当前list的长度', len)
//调用云函数
wx.cloud.callFunction({
name: 'fenye',
data: {
len: len, //数据索引
pageNum: 50, //每页加载多少条数据
}
}).then(res => {
wx.hideLoading()
console.log('请求成功', res.result.data)
let dataList = res.result.data
if (dataList <= 0) {
wx.showToast({
icon: 'none',
title: '已经掏空了!',
})
}
//携带的数据
this.setData({
list: this.data.list.concat(dataList) //数据的追加,如1 => 1,2 => 1,2,3
})
})
.catch(res => {
wx.hideLoading()
console.log('请求失败', res)
})
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
this.getList()
}
})
2.编写云函数的index.js
,
千万不要忘了上传到云上,进行云函数的部署
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV
})
// 云函数入口函数
exports.main = async (event, context) => {
return await cloud.database().collection('num')
.skip(event.len) //数据索引
.limit(event.pageNum) //每页加载多少条数据
.get()
}
3.修改wxml
部分
<!--pages/fenye-yun/fenye-yun.wxml-->
<view wx:for="{{list}}" wx:key="index">
<view class="num">
{{item.num}}
</view>
</view>
4.修改wxss
部分
/* pages/fenye-yun/fenye-yun.wxss */
.num{
height: 200px;
background-color: gold;
border-bottom: 1px solid red;
}
感谢大家,点赞,收藏,关注,评论!