Extjs4 Combobox还有其他选项

时间:2011-07-15 18:12:26

标签: extjs extjs4

我希望创建一个加载商店的组合框,但也希望在其上添加一些预定义数据。有可能吗?

3 个答案:

答案 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 )