sencha touch list更新单行数据

http://www.cnblogs.com/mlzs/p/3317570.html

如此章所说,点击按钮需要实时更新视图

操作代码如下:

 1     onTasteUp: function (list, record, item, index, btn) {
 2         var visibility = 'visible',
 3         value = +btn.getAttribute("value"),
 4         data = record.data,
 5         taste = data.taste + value,
 6         eateryBar = this.getEateryBar(),
 7         price = value * data.price,
 8         isShop = true;
 9         if (taste == 0) {
10             visibility = 'hidden';
11             isShop = false;
12         }
13         data.taste = taste;
14         data.visibility = visibility;
15         data.isShop = isShop;
16         item.setData(data);
17         eateryBar.upDateView(price, value);
18     }

关键代码为:item.setData(data);


因为所以的展示控件都是基于Container控件的,所以setData方法适用范围很广

经过测试,得出以下结论:

1.不能使用item.setRecord(record);此方法无法更新视图

2.不能使用record.set({taste:taste});查看源码会发现此方法会刷新整个视图,效率及其底下。

原文地址:https://www.cnblogs.com/mlzs/p/3321984.html