gpt4 book ai didi

extjs - Sencha - store.each() - 数据不可用,它们仅位于数据类的深处

转载 作者:行者123 更新时间:2023-12-02 05:12:06 24 4
gpt4 key购买 nike

我有:

Ext.define("catcher.view.Login", {
extend: "Ext.form.Panel",
// creating login form, including selectfield

商店“锦标赛”是在商店中创建的 (autoload:true),有它的模型。一切都准备好了。需要动态填充 selectfield(仍在 view.Login 类中):

initialize: function(){
var store = Ext.getStore("Tournaments");
var options = new Array();
store.each(function(radek){
options[radek.get("tournament_id")] = radek.get("tournament_name");
});
}

我不想使用 store:"Tournaments" 配置选项,因为后面有 form.submit();没有从 selectfield 发送正确的数据。

有问题: console.log(store.getCount()); 返回 0。使用 store.add({ ... }) 我可以添加任何内容,getCount() 返回正确的计数 (0 + add())。

奇怪的部分:console.log(store) 返回整个类,包括 data 对象,其中包含所有项目。下一个奇怪的部分——如果我在 Controller 中使用相同的代码,一切正常,商店被正确加载,我可以使用 mystore.each();

最佳答案

商店加载是异步的,当您访问它时,它还没有加载。您需要监听商店加载事件。

类似于:

store.on('load', function(storeRef, records, successful){
//Loop through records
}, this);

on() documentation

load event documentation

关于extjs - Sencha - store.each() - 数据不可用,它们仅位于数据类的深处,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15283033/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com