添加/删除 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 组合值的主要内容,如果未能解决你的问题,请参考以下文章

如果名称中没有 [],ExtJS 组合框仅从 JSON 设置值

从组合框中删除 extjs 3.4 中的参数

如何删除商店extjs中的重复值

Extjs - 从商店中删除新添加的选定项目

Extjs 无法在表单面板中动态添加/删除字段

如何在 extjs 中重新添加已删除的选项卡