在做购物车的时候会遇到选中和非选中某一项,以前的做法是拿到数据后先循环数据数组添加一个值为false的bull值,
当点击选中(非选中)执行函数时以前的做法是拿到当前的下标,然后改变数组此下标对象里对应的bull值,最后
this.setData({
list:list
});
相当于 把整个数组 渲染了一遍(虽然他有缓存机制,只会改变你改动的部分视图),但是还是感觉消耗性能,
最后投机取巧 换了一种思路:
let string = "riderCommentList[" + e.target.dataset.index + "].selected"
console.log(string)
console.log([string])
this.setData({
[string]: !this.data.riderCommentList[e.target.dataset.index].selected
})
ps:riderCommentList代表数组,selected就是那个要改变的bull值,原理就是利用this.data是一个对象,可以支持.语法和[]取值法;纯手打
小程序数组只改变某一项进行视图更新
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 源站:http://fengyuanchen.github.io/viewer/ 应用: html: 源码上是正常...