Javascript Ext.data.store的Load方法-如何延迟返回语句和函数调用直到加载数据?
在“加载”时,我既要执行函数this.\u renderColumns(使用来自服务器的数据),也要返回一个复选框(也使用来自服务器的数据)。 只有在加载数据后才返回复选框的快捷方法是什么Javascript Ext.data.store的Load方法-如何延迟返回语句和函数调用直到加载数据?,javascript,ajax,extjs,Javascript,Ajax,Extjs,在“加载”时,我既要执行函数this.\u renderColumns(使用来自服务器的数据),也要返回一个复选框(也使用来自服务器的数据)。 只有在加载数据后才返回复选框的快捷方法是什么 connectLoadRenderStoreAndGetCheckBox: function () { this.someStore = new Ext.data.Store({ proxy: reader: ]), sortInfo:
connectLoadRenderStoreAndGetCheckBox: function () {
this.someStore = new Ext.data.Store({
proxy:
reader:
]),
sortInfo: { field: , direction: }
});
this.someStore.load(
{
params:
{
}
});
//I left out parameters; lets assume they are valid and work.
this.someStore.on("load", this._renderColumns, this);
return ([this._getCheckBox()]);
}
你能为这个函数所来自的对象添加代码吗?它太长了(基本上是一个定制的面板),需要更多关于你所指复选框的信息。因此,基本上你是在商店加载后尝试根据记录选中/取消选中复选框?您是否有任何理由在此时实际创建复选框?是的。不,但即使稍后创建复选框,服务器请求也总是比initcomponent慢(甚至比afterrender慢)。无论如何,我必须等待数据。
_getCheckBox: function () {
if (UseDefault == "y") {
return new Ext.form.Checkbox(
{
fieldLabel:,
itemCls:,
checked: true,
labelStyle:
});
}
else {
return new Ext.form.Checkbox(
{
fieldLabel:,
itemCls:,
checked: false,
labelStyle:
});
}
},
_renderColumns: function () {
var record2 = this.something.something2(2);
UseDefault = record2.get("UseDefault");
}