Sencha触摸列表并不令人耳目一新

时间:2014-09-22 12:00:02

标签: list sencha-touch-2

我正在使用' list'作为视图中的子组件。我没有使用任何商店来获取数据,而是使用简单的数据'列表的属性来布局我的列表项。

我的要求是通过在同一视图上点击按钮来更新相同的列表。我正在使用列表的setData方法更新数据,但新项目将附加到列表中,而不是替换旧项目。该列表也表现不佳。旧数据记录的事件侦听器(itemtap)似乎完好无损。

这是包含列表http://jsfiddle.net/xer1es0w/的视图 以下是使用该视图的控制器http://jsfiddle.net/6gwwes0p/

注意:出于代码安全性的原因,我已经截断了一些代码行

enter image description here

1 个答案:

答案 0 :(得分:2)

在你的例子中,你并没有真正按照自己的想法行事。

以下是setData(bla)后发生的事情的代码。

function(data) {
    var store = this.getStore();
    if (!store) {
        this.setStore(Ext.create('Ext.data.Store', {
            data: data,
            autoDestroy: true
        }));
    } else {
        store.add(data);
    }
}

Sencha查看是否有数据存储。如果没有,它会创建一个。

首次运行时,它会添加一个商店,然后将数据添加到商店。

==>在第二轮你需要打电话

list.getStore().removeAll();
list.addData(bla);

或尝试

list.getStore().setData(bla);