javascript – ionic2 – 仅当用户在Toast中单击“关闭”时才创建函数

我用ionic2创建了一个toast(angular2 with javascript,而不是typescript),用户从列表中删除一个项目.

到目前为止一切都很好,现在我想在吐司中添加一个按钮撤消(替换关闭撤消)将其放回列表并同时解除吐司.

我的代码到目前为止:

archiveItem(item) {
    let toast = Toast.create({
        message: 'Item archived.',duration: 2000,showCloseButton: true,closeButtonText: 'Undo',dismissOnPageChange: true,});

    var index = this.items.indexOf(item);
    this.items.splice(index,1); //remove the item


    toast.ondismiss(() => {
        console.log('dismissed toast');
        this.items.splice(index,item); //put back the item on right place
    });


    this.nav.present(toast);
}

当我单击撤消时,该项目返回到列表,问题是,如果我不单击它,它也会返回到列表.

我想我需要为Undo创建另一个函数,但我不知道该怎么做,Ionic2 DOCS不会谈论它…

谢谢 :)

解决方法

编辑:

试试这个:

toast.ondismiss((data,role) => {    
        console.log('dismissed toast');
        if (role== "close") {
           this.items.splice(index,item); //put back the item on right place
        }
    });

编辑:为了清晰起见重命名参数

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...