情景

今天在开发微信小程序的时候发现我通过for 循环生成可选中列表,选中时发现略微卡顿,我通过网络收集信息发现可能是频繁setData的原因,因为为了判断为用户点击了来列表举矩阵中的某个,我设置了一个1:1 的矩阵,每次点击都会对列表中的固定的位置取反,并且重新赋值给data里面的坐标数组。

解决方案

之前没有认真的巩固过基础,导致自己不认识如何对数组或则对象中的某要一个值做出改变,后来寻得方法

const coord = this.data.coord;
    const index = e.currentTarget.dataset.index;
    const obj = 'coord['+ index[0] + '][' + index[1] + ']';
    let bool = !coord[index[0]][index[1]];
    // 只修改部分data值,减少程序卡顿
    this.setData({
      [obj]:bool
    });

以上方法可以解决大部分setData卡顿问题

最后修改:2021 年 03 月 24 日 06 : 52 PM
如果觉得我的文章对你有用,请随意赞赏