我正在创建一个列表,我将通过json数据从列表中添加项目。 我面临的问题是我有一个删除按钮,点击按钮, 必须从商店中删除列表中的所选项目。
这就是我试过的
{
text: '',
id: 'deletenotesBtn',
iconCls:'trash',
iconMask: true,
ui:'action',
handler: function(){
var itemSelected = Ext.getCmp('noteslist').getSelection().remove();
// this.remove(this, true);
alert('item deleted');
}
关于我如何实现它的任何建议?
答案 0 :(得分:5)
答案在你的问题里面。您必须从商店中删除该项目,而不是从列表中删除。
...
handler: function(){
var selection = Ext.getCmp('noteslist').getSelection();
Ext.StoreManager.get('MyStore').remove(selection[0]);
}
...
也就是说,假设您用于列表的商店称为“MyStore”。
列表中'getSelection()'方法的输出是(可能是多个)所选项的数组。如果未选中,则返回空数组。如果选择了一个或多个项目,它将返回商店中相应记录的数组。
在所有情况下,您的按钮上的此处理程序功能将从您的商店中删除所选项目,您的列表将相应地刷新。
此外,根据商店的配置,您可能希望在执行此操作后同步它:
Ext.StoreManager.get('MyStore').sync();
希望这有帮助。