微信小程序中使用setData({})达到删除、编辑操作后页面数据局部刷新的效果

前言:
当一个页面数据列表过多时,刷新数据如果采用全局加载(整页数据重新渲染)方式则影响用户的体验,这时候需要优化成局部加载(部分修改数据重新渲染)。

场景:最近用户提出小程序的列表数据翻页后数据刷新不能回到之前修改的位置,简单讲:就是用户想进行修改、删除操作后,当前页面不需要重新数据渲染,,

微信小程序中使用setData({})达到删除、编辑操作后页面数据局部刷新的效果

如图:列表数据是拥有删除和编辑功能(点击分类名称,出现分类选则弹框)

1.删除操作
*通过html页面获取删除数据的下标后,等js中调取删除api成功之后,使用数组splice方法删除该下标的元素,最后使用 this.setData({}) 将之前数组重新赋值,以此做到页面的局部数据刷新。

微信小程序中使用setData({})达到删除、编辑操作后页面数据局部刷新的效果

2.编辑操作
思路:获取需要修改对象原有的值和修改后新的值后,在修改api调取成功后,遍历集合判断如果是同一个对象,则将新的值覆盖旧的值,最后通过this.setData({})将数组数据再次更新即可。
微信小程序中使用setData({})达到删除、编辑操作后页面数据局部刷新的效果

以上主要是实现思路,因为本列表页面数据为二维数组渲染,随机变化即可!