从列表中删除项目

Khu*_*ush 2 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');
}
Run Code Online (Sandbox Code Playgroud)

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

bor*_*rck 5

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

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

也就是说,假设您用于列表的商店称为"MyStore".

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

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

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

Ext.StoreManager.get('MyStore').sync();
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.