dart - 如何使用Polymer.dart将onclick事件监听器添加到所有输入字段

标签 dart dart-polymer

我想向Polymer模板内的所有输入字段添加onclick和onchange事件。

是否可以通过代码一次将事件添加到所有事件?
我想避免将onclick和onchange属性一一添加到输入字段中。

我认为这是有可能的,但是我在弄乱代码,但无法理解。

提前致谢

最佳答案

这与Listen to events on ElementList with no explicit accessor非常相似。您可能需要一个不同的选择器,但您的问题所包含的信息不足以知道可能是什么。也许:

List<StreamSubscription> _clickSubscriptions = <StreamSubscription>[];
List<StreamSubscription> _changeSubscriptions = <StreamSubscription>[];

this.shadowRoot.querySelectorAll("input")
.forEach((e) {
  _clickSubscriptions.add(e.on["on-click"].listen((event) {
    print("Event Triggered");
  }));
  _changeSubscriptions.add(e.on["on-change"].listen((event) {
    print("Event Triggered");
  }));
});

取消订阅使用
_clickSubscriptions.forEach((s) => s.cancel());
_changeSubscriptions.forEach((s) => s.cancel());

另请参阅How can you assign mutliple listeners to a single StreamSubscription?

关于dart - 如何使用Polymer.dart将onclick事件监听器添加到所有输入字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31785230/

相关文章:

dart - 在 Polymer 中对列表进行分组而不重绘整个 DOM

dart - `<template repeat>` 的作用域规则是什么

dart - dart 中 Paper 元素的实例

FLUTTER-WEB file.writeAsBytes 不起作用

dart - 如何在Angular Dart 2中编写自定义模式验证器

dart - 遵循最佳实践在 flutter 中存储 API key 的正确方法

firebase - 如何使用flutter查询firestore中的子集合?

flutter - 带有子列表的整洁架构 toJson(reso 编码器)

dart - 自动调整 Canvas 大小以占用其容器的全部大小

dart - 指示需要一个下拉菜单