加载后,Extjs 在组合框存储中添加选项

Posted

技术标签:

【中文标题】加载后,Extjs 在组合框存储中添加选项【英文标题】:Extjs add option in the combo box store after it's loaded 【发布时间】:2014-10-31 06:49:54 【问题描述】:

我创建了一个组合字段。该字段的存储是从另一个加载的。我在这里给出一些代码。

    initComponent:function()
    
        var me = this;

        this.contentType = Ext.create('AA.com.Planner.form.combo.ContentType',
            architectOnly: true,
            name: 'content_type_id',
            allowBlank: false,
            disabled: true,
            listeners: 
                change: function( checkbox, newValue, oldValue )
                    if( newValue )
                        var contentTypeRecord = checkbox.findRecordByValue(newValue);
                        // for the order by field
                        me.orderBy.getStore().getProxy().setExtraParam('content_type_id',newValue); // I would like to add another option here 
                        me.orderBy.getStore().load();
                        me.orderBy.enable();


                    else

                        me.orderBy.disable();
                        me.orderBy.setValue('');

                    
                
            ,
            plugins: [
                ptype: 'clearvalue'
            ]
        );

    

);

我想用 me.orderBy.getStore() 添加另一个选项。

【问题讨论】:

嘿...您想要添加额外的额外参数或者您想要添加额外的记录到您的商店? 尝试将回调放入 load() 函数,然后添加。这样您就拥有了现有的商店,并且可以向其中添加记录。添加后确保它不脏。不要让你失望,但是从服务器而不是客户端添加它不是更好吗?事后需要添加它的原因是什么? Sreek521,我想向您的商店添加额外的记录,以便我可以将其组合起来.. 那就是me.orderBy.getStore().add(some:"data");,见docs.sencha.com/extjs/4.2.2/#!/api/Ext.data.Store 我尝试了以下代码,其中别名是我的值字段,标签是我的显示字段,但我没有看到任何变化。控制台没有错误。 me.orderBy.getStore().add("alias":"publish_date", "label":"Publish Date"); 【参考方案1】:

可能最简单的方法是在加载事件处理程序中添加新记录:

Ext.create('Ext.data.Store', 
    [...],

    listeners: 
        load: function(store) 
            store.add( name: 'Dummy' );
        
    
);

小提琴:http://jsfiddle.net/kqpq25hL/3/

【讨论】:

以上是关于加载后,Extjs 在组合框存储中添加选项的主要内容,如果未能解决你的问题,请参考以下文章

ExtJS - AJAX 调用后无法重新加载组合

ExtJS 组合框不呈现

Extjs 添加唯一的组合框值来存储

存储加载后 extjs 4.0.7 中 Combobox 中的小错误

EXTJS:如何在组合框上自动完成查询后从数据存储中清除“查询”参数

extjs:加载时如何设置组合框的值