7

我按如下方式加载我的商店:

store.load({
    params: {
        paramMap
    },
    callback: function(records, options, success) {
        if (success) {
            var form = formPanel.getForm();
            var jsonStr = Ext.JSON.encode(records[0].raw);
            var jsonObj = Ext.JSON.decode(jsonStr);
            form.loadRecord(jsonObj);
        }
    }
});

问题是我只希望在第一次加载商店时触发这个回调。之后我想将其删除,这样当我再次重新加载或加载商店时,它就不会再次调用此回调。

任何想法,我尝试在选项配置中获取回调,但这似乎不起作用。

4

1 回答 1

16

不完全确定问题是什么。只有在商店加载回调时才会调用回调。

store.load({callback:myCallback});
//callback will be called
store.load();
//callback will not be called

如果你只想做某事,你可能想使用一个设置为 true 的监听器。侦听器而不是回调是我的首选方式。

store.on('load', onStoreLoad, this, {single:true});

回调函数参数 api 与负载侦听器略有不同,请查看文档以查看。

于 2013-03-27T18:14:31.787 回答