微信小程式setData區域性重新整理列表

樑雨季發表於2020-08-15

利用setData區域性重新整理列表

當列表管理載入到第幾頁時,這個list的資料有十幾條的,如果重新setData的話就要重新重新整理和渲染列表,

這是個比較麻煩的事,當資料量大時,就會造成白屏,

這時就要區域性重新整理列表,而且大量資料使用setData是有效能影響的。

這時就要進行區域性重新整理

 

比如:分頁載入,刪除某一條記錄,這時就要重新載入列表,回到第一頁,當頻繁操作刪除時,就比較噁心了

這時我們可以利用標記,和隱藏記錄

通過點選獲取列表的索引index,進行刪除請求成功後將其隱藏即可,不用全部重新整理列表,也不用回加第一頁

 
1. let index = e.currentTarget.dataset.index;
2. this.setData({
3.   ['list['+index+'].isDelete']: 1
4.  })
 
通過區域性更新列表項的isDelete引數來隱藏該項
頁面上使用 
 <view class='item' wx:if='{{!item.isDelete}}'></view>
來控制顯示。
 
通過上面區域性重新整理頁面的方式,可以做大量的相識的操作,如商品上下架的狀態,等
 
1.    wx.showModal({
2.           title: '提示!',
3.          content: '是否刪除該商品?',
4.          success: res =>{
5.             if (res.confirm) {
6.                 let index = e.currentTarget.dataset.index;
7.                this.setData({
8.                    ['list['+index+'].isDelete']: 1
9.                   })
10.          }
11.        }
12.   })

相關文章