无论如何在组合框准备就绪时执行功能吗?
我遇到了麻烦,因为在Ext.OnReady结束时,似乎有时组合没有准备好并且调用一个函数来用ajax调用来填充它的值会导致很多麻烦。
我正在寻找一种合适的方法来代替
setTimeout(function(){myDataFiller();},300);
答案 0 :(得分:0)
试试这个:
var combo = new Ext.form.field.ComboBox({
/* config settings, blah blah blah */
listeners: {
afterrender: {
single: true,
fn: function(combobox){
Ext.Ajax.request({
/* request settings */
success: function(data){
var value;
/* process your data response */
combobox.setValue(value);
}
});
}
}
}
});
或者,如果您已经拥有Ajax请求中的值,则可以直接在afterrender
函数中设置该值。请注意上面single: true
的使用。这意味着该函数只会执行一次,因此如果某些因素导致你的组合框重新渲染,你就不会错误地重置该值。