使用ExtJs 3.4动态更改存储中的数据

时间:2012-11-28 10:19:18

标签: javascript extjs

我有一个商店并动态更改其网址。

store_form.proxy.conn.url=url;
store_form.load();
tabs.activate(1);

因此,如果我更改URL,商店中的数据将会发生变化。

此商店我加载到FromPanel,它位于标签中:

listeners: {
    'activate' :  function(zemform,records,options) {
        console.log("store:"+store_form.getAt(0));
        this.loaded = true;
        var record = store_form.getAt(0);
        zemform.getForm().loadRecord(record);
        //store_form.reload();
    }
},

但是当打开选项卡时,我会看到以前的数据。仅当我单击另一个选项卡然后单击返回时,才会显示新数据。它有什么问题?

1 个答案:

答案 0 :(得分:2)

我不知道我是否理解你的问题是正确的,但我认为问题是activate处理程序。 只有在激活选项卡时才会触发它。您写道标签已经打开,因此它也被激活,在这种情况下不会触发事件activate

而不是那样,您应该在商店loadRecord(record)处理程序中调用loadhttp://docs.sencha.com/ext-js/3-4/#!/api/Ext.data.Store-event-load