微信小程序加载更多,是将之前的数据和点击加载后请求的数据用concat拼接在一起并执行setData,
下面是一个简单的栗子:
index.wxml代码如下
[html] view plain copy
- <view wx:for="{{duanziInfo}}" wx:for-item="name" wx:for-index="id">
- <view class="duanzi-view">
- <view class="duanzi-content">
- <text class="dz-content">{{name.content}}</text>
- </view>
- </view>
- </view>
- <view class="button-wrapper">
- <button type="default" size="default" loading="{{loading}}" disabled="{{disabled}}" bindtap="setLoading">
- {{loadText}}
- </button>
- </view>
index.js文件代码如下
[javascript] view plain copy
- Page({
- data: {
- loadText:'加载更多',
- duanziInfo:[]
- },
- //初始化请求
- onLoad: function (res) {
- var that = this
- //内容
- wx.request({
- url: 'https://xxxxx.com/index.php?m=Industry&a=getDuanziInfo',
- data: {token:token},
- method: 'GET',
- success: function(res){
- console.log(res.data.result) //打印初始化数据
- that.setData({
- duanziInfo:res.data.result
- })
- }
- })
- },
- //加载更多
- setLoading: function(e) {
- var duanziInfoBefore = this.data.duanziInfo
- var that = this
- wx.showToast({ //期间为了显示效果可以添加一个过度的弹出框提示“加载中”
- title: '加载中',
- icon: 'loading',
- duration: 200
- })
- wx.request({
- url: 'https://xxxxx.com/index.php?m=Industry&a=getDuanziInfo',
- data: {token:token},
- method: 'GET',
- success: function(res){
- console.log(duanziInfoBefore.concat(res.data.result)) //打印拼接之后数据
- that.setData({
- loadText:"数据请求中",
- loading:true,
- duanziInfo:duanziInfoBefore.concat(res.data.result),
- loadText:"加载更多",
- loading:false,
- })
- }
- })
- }
- })
初始化和加载更多中的打印数据如下