在开发微信小程序的时候,在列表界面需要上拉加载,所以需要每一页的数组合并,setdata函数渲染请求传来的数据是对的,但是跟本地数组合并的时候,就为空了,卡了好几个小时了
data: {
records:[],
},
success (res) {
if(res.data.code == 1)
{
console.log(res)
that.setData({
records:[...this.data.records,...res.data.data.records],
//records:res.data.data.records,
total:res.data.data.total,
})
}
下面是全部代码
// pages/consult/consult.js
// 获取应用实例
const app = getApp()
Page({
/**
* 页面的初始数据
*/
data: {
query:{},
userInfo:"",
openId:"",
baseUrl:"",
userId:'',
records:[],
pageNum:1,
pageSize:10,
order:1,
total:0,
isloading:false,
},
getShow(e){
console.log(e.currentTarget.dataset.projectid)
let id=e.target.dataset.projectid
wx.navigateTo({
url: '/pages/articleDetail/articleDetail?id='+id//跳转的页面和参数
})
},
getalllist(){
wx.showLoading({
title: '数据加载中...',
})
this.setData({
isloading:true
})
var baseUrl = app.globalData.baseUrl;
var openId = app.globalData.openId;
var token = app.globalData.token;
this.setData({
baseUrl: baseUrl,
openId: openId,
token:token,
})
if( openId == ""){
// 如果userInfo为null,没有登录
wx.redirectTo({
url: '/pages/login/login',
})
console.log("false")
}else{
// 发起网络
var that = this;
wx.request({
url:baseUrl+"/project/projects",
method: "GET",
header: {
'content-type': 'application/json' ,// 默认值
"token":token
},
data:{
pageNum:this.data.pageNum,
pageSize:this.data.pageSize,
order:this.data.order,
},
success (res) {
if(res.data.code == 1)
{
console.log(res)
that.setData({
records:[...this.data.records,...res.data.data.records],
//records:res.data.data.records,
total:res.data.data.total,
})
// this.data.records = this.data.records.concat(res.data.data.records)
}
else{
console.log(res)
}
},
complete:()=>{
wx.hideLoading()
this.setData({isloading:false})
},
})
}
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
this.setData({
query : options
})
this.getalllist()
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
if(this.data.pageNum * this.data.pageSize >= this.data.total)
return wx.showToast({
title: '数据加载完毕!',
icon:'none',
})
if(this.data.isloading) return
this.setData({
pageNum: this.data.pageNum + 1
})
this.getalllist()
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})