从列表中删除项目

时间:2012-05-14 07:08:11

标签: list sencha-touch-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');
}

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

1 个答案:

答案 0 :(得分:5)

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

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

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

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

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

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

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

希望这有帮助。