dart - 删除Dart中的Polymer对象的所有其他实例上的类?

标签 dart polymer dart-polymer

我正在尝试构建一个简单的 Accordion 聚合物组件。我可以使用它,因此当我单击列表中的项目时,会向该项目添加open类,以显示其内容。

我不想一次打开多个项目,因此在单击功能中,我基本上要说:

$(".list-item").on("click", function() {
    $("list-item").removeClass("open");
    $(this).addClass("open");
} 

当然,这是在jQuery中而不是Dart中...因此这对我没有太大帮助。

Dart的上述等效项是什么?

这就是我现在正在工作的内容(只是打开每个被单击的项目,而不会在此过程中关闭其他项目)。
     _openedChanged: function() {
      if (this.opened) {
        this.toggleClass('open', true);
      }
      else {
        this.toggleClass('open', false);
      }
      this.setAttribute('aria-expanded', this.opened ? 'true' : 'false');
    }

最佳答案

要从Dart中的所有list-item元素中删除类,您可以执行以下操作:

querySelectorAll('list-item').forEach((item) => item.classes.remove('open'));

关于dart - 删除Dart中的Polymer对象的所有其他实例上的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32638917/

相关文章:

dart - 来自 Dart 的 Google 文件选择器

google-maps - Flutter:如何在谷歌地图中显示位置图层

polymer - 纸张菜单按钮内的纸张项目链接(Polymer-1.0)

javascript - 为什么 `Polymer()` 函数需要元素名称作为它的第一个参数?

dart - polymer Dart 传递元素作为属性

dart - HTML 和 Dart 导入的区别

firebase - 多提供者无效成员为null:提供者构造上的 'collection'

android - 一个或多个插件需要更高的 Android SDK 版本

flutter - Flutter Route动画使新旧路径动画化

polymer 核心-滚动-标题-面板样式和导入