前端局部自动刷新_微信小程序使用setData实现局部刷新

本文介绍了在微信小程序中如何使用 setData 实现局部刷新数据。通过举例说明,当接口返回部分数据更新时,如何针对性地更新页面的特定部分,避免全局数据刷新。在示例中,展示了如何根据接口返回的数据,遍历并更新指定对象的属性,从而实现局部视图的更新。
摘要由CSDN通过智能技术生成

aff9f72ce5e96a0c1bdf543372de9ae7.png

微信小程序中我们经常用setData来将数据从逻辑层发送到视图层(异步),同时改变对应的 this.data 的值(同步)。

正常场景下,首次请求接口>接口返回数据>setData数据>视图渲染

一般界面上都会有刷新按钮、或者下拉刷新,当点击刷新按钮,只想更新部分数据怎么办,这时就要用到局部刷新了。下面举例来具体实现:

初始数据如下

Page({

/**

* 页面的初始数据

*/

data: {

arr:[

{

id:1,

name:"张三",

age:13

},

{

id:2,

name:"李四",

age:14

}

]

},

})

通过请求接口,拿到返回数据,假设接口的返回数据中 “张三”的 age变更为23,“李四”的 age变更为24

getUser() {

let that = this;

wx.request({

url: 'test.php', //仅为示例,并非真实的接口地址

data: {

x: '',

y: ''

},

header: {

'content-type': 'application/json' // 默认值

},

success(res) {

console.log(res.data)

/*

res.data = [

{

id:1,

name:"张三",

age:13

},

{

id:2,

name:"李四",

age:14

}

]

*/

for (let i = 0, len = res.data.length; i < len; i++) {

let age = 'arr[' + i + '].age';//arr跟this.data.arr名称保持一致

that.setData({

[age]: res.data[i].age//左边的age要用[] 包裹

})

}

}

})

}

这样就实现了局部刷新页面数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值