【问题标题】:JavaScript - Polymer: this.splice after paper-alert-dialogJavaScript - 聚合物:纸张警报对话框后的 this.splice
【发布时间】:2017-10-18 09:09:05
【问题描述】:

我正在尝试在从数组中删除项目时添加纸质警报对话框,但我似乎无法理解这是如何工作的。

我现在有以下功能,但没有对话框:

_delete(e) {
          var index = this.todos.indexOf(e.model.item);
          this.splice('todos', index, 1)
          this.$.grid.clearCache();
          }

如果我将此功能设置为点击触发,它就像一个魅力,但我正在尝试添加一个确认对话框。所以,我做了一个新函数,首先调用警报对话框:

_confdel() {
this.$.Delconfirm.open();
}

如果我将纸张按钮设置为 on-confirm="_delete()" 这将不起作用。 它会触发alert-dialog,但paper-dialog on-confirm在触发_delete时不会删除条目。

我在这里做错了什么?

Plnkr:https://plnkr.co/edit/UXNhfLU4DrDkBdpeIkuQ?p=preview

【问题讨论】:

    标签: javascript arrays ecmascript-6 dialog polymer


    【解决方案1】:

    而不是调用on-confirm="_delete()",您只需告诉函数的名称,例如:on-confirm="_delete"

    我假设你的 confirm-dialog_delete 函数在同一个元素中,它可以调用 this._delete

    【讨论】:

    • 嗨!非常感谢您的回复。这是一个 plunkr,所以你可以理解我想说的,我知道我没有解释清楚......plnkr.co/edit/UXNhfLU4DrDkBdpeIkuQ?p=preview
    • 能否请您也添加您的 html ?没有它,我无法解决任何问题。你试过我的建议了吗?
    • 嗨,很抱歉我的回复晚了。当然!这是 plunker 链接:plnkr.co/edit/UXNhfLU4DrDkBdpeIkuQ?p=info。谢谢!
    • @unkn0wnx 一切都应该没问题。我刚试过paper-alert-dialog,没问题。即使是和你一样的流量。尽量简化代码,只保留必要的函数和 html。试着找出问题出在哪里。尝试将 element 重新安装到最新版本(如果您使用的 Polymer 版本至少为 1.9.x)
    • 在我这边还是不行。当我按下删除时,对话框打开,但是当我尝试删除条目时,它给了我一个错误:无法读取未定义的属性“项目”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-20
    • 2015-02-27
    相关资源
    最近更新 更多