加载后,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 4.0.7 中 Combobox 中的小错误