利用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. })