dart - 如何在Dart中更改按钮的单击事件

标签 dart dart-polymer dart-html

我有一个问题,那就是在每行的最后<td>中有一个带有编辑按钮的表。当按下编辑键时,<td>更改为<input>,效果很好。我的按钮如下所示:

<td><button on-click="{{editThis}}">Edit</button></td>

因此,当按下它时,editThis函数将被调用。但是我希望我的按钮现在将显示“保存”,如果按下应调用“saveThis”功能。

void editThis(Event e, var detail, Node sender) {
   e.preventDefault();
   /* ... does not matter ... */

   (sender as ButtonElement).text = "Save"; 
   (sender as ButtonElement).setAttribute("on-click", {{saveThis}});
}

Button仍然会调用editThis函数。 Dartium显示以下内容:

<button on-click="{{saveThis}}">Save</button>

有什么想法为什么不起作用或如何解决此问题的其他方法?

最佳答案

自己找到了解决方案:)

    void editThis(Event e, var detail, Node sender) {
    e.preventDefault();
    print("edit called");

    /* Does not matter */

    ButtonElement newButton = new ButtonElement();
    newButton.text = "Save";
    newButton.onClick.listen((event) => saveThis());
    sender.replaceWith(newButton);
  }

关于dart - 如何在Dart中更改按钮的单击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26259523/

相关文章:

dart - 将行中不同大小的文本对齐到底部

flutter - 带Cubit的DropDownButton

firebase - 如何让 streambuilder 等待?

dart - 纸张下拉菜单无法充分打开

dart - 在我的 Polymer 应用程序中处理业务逻辑的最佳位置在哪里?

dart - 在 paper-element 下拉列表中检索所选项目

dart - 如何使用window.location.search

dart - 创建一个与用户提供的模板一起使用的Polymer.Dart元素

flutter - 如何在 Flutter for Web 中使用 FileUploadInputElement 上传特定类型的文件

forms - Dart 未获得输入值