我希望创建一个加载商店的组合框,但也希望在其上添加一些预定义数据。有可能吗?
答案 0 :(得分:5)
我认为这就是你所需要的:
Ext.define('App.widget.MyCombo', {
extend : 'Ext.form.field.ComboBox',
displayField: '...',
valueField : '...',
name : '...',
alias : 'widget.mycombo',
fieldLabel : 'My Custom combo',
initComponent: function() {
var me = this;
me.store = Ext.create('Ext.data.Store', {
model : '...',
proxy : {
type : '...',
reader: '...'
}
});
/*After data is loaded append some predefined records.*/
me.store.on('load', function() {
/*Indicates that data must be appended to already loaded data.*/
var append = true;
me.store.loadData([{id : -1, value : 'Default'},
{id: -2, value: 'Second Default'}], append);
});
me.callParent();
}
});
答案 1 :(得分:2)
如果您的商店是一个列表,那么您可以在您指定的索引生成商品后将其添加到列表中。
您也可以从组合框中获取商店,然后在您指定的索引处使用add()。
答案 2 :(得分:1)
作为Brian Said,您可以在指定的索引处“插入”它。当您使用“添加”时,它基本上将它附加到商店的末尾。 这是插入函数的签名:
insert( Number index, Ext.data.Model[] records )