添加/删除 Extjs 组合值
Posted
技术标签:
【中文标题】添加/删除 Extjs 组合值【英文标题】:Add/Remove Extjs combo value 【发布时间】:2016-02-03 09:19:07 【问题描述】:我是 extjs 的新手。我需要根据某些条件从 extjs 组合框中添加/删除一些值。我尝试了以下代码,但没有运气。
var obj =Ext.getCmp('filter');
var myArray=new Array();
myArray['id'] = 'a';
myArray['value'] = 'a';
var rec = new Ext.data.Record(myArray);
//obj.store.add(rec);
obj.store.removed(rec);
【问题讨论】:
【参考方案1】:使用 getById 查找要删除的记录。
var combo = Ext.getCmp('filter');
combo.store.remove(combo.store.getById('a')); //typo: sotre corrected to store
combo.store.remove(combo.store.getById('a'));
【讨论】:
【参考方案2】:obj.store.remove(rec);
removed 不是存储功能。
removed 是一个缓冲区数组,其中添加了所有已删除的记录。
如果你打算有一个大存储,你应该保持这个数组为空,因为删除的对象在整个会话期间都被存储。
如果组合没有改变,请在添加或删除记录后尝试添加 store.sync()
【讨论】:
感谢您的输入。我应该如何从组合框中删除特定记录?是任何其他选择 您可以使用 .removeAt(index) 或 .remove(specificRecord)。 对于特定的记录案例,您应该创建这样的记录: var rec=Ext.create(store.getModel());使用函数 record.set(field,value) 设置值。如果我有用,请给我打分 link 看看这里以更好地了解哪些功能可用。以上是关于添加/删除 Extjs 组合值的主要内容,如果未能解决你的问题,请参考以下文章