2

我正在创建一个列表,我正在通过 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');
}

关于我如何实现它的任何建议?

4

1 回答 1

5

答案在你的问题中。您必须从商店中删除该项目,而不是从列表中。

...
handler: function(){
    var selection = Ext.getCmp('noteslist').getSelection();
    Ext.StoreManager.get('MyStore').remove(selection[0]);
}
...

也就是说,假设您用于列表的商店称为“MyStore”。

列表中的“getSelection()”方法的输出是一个(可能是多个)选定项目的数组。如果没有选择,它将返回一个空数组。如果选择了一个或多个项目,它将返回您商店中相应记录的数组。

在所有情况下,您按钮上的此处理程序函数将从您的商店中删除选定的项目,并且您的列表将相应地刷新。

此外,根据您商店的配置,您可能希望在执行此操作后同步它:

Ext.StoreManager.get('MyStore').sync();

希望这可以帮助。

于 2012-05-14T07:58:39.367 回答