我试图建立一个简单的手风琴聚合物组件。我有它工作,所以当我点击列表中的项目时,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');
}
答案 0 :(得分:4)
要从Dart中的所有list-item
元素中删除一个类,您可以执行以下操作:
querySelectorAll('list-item').forEach((item) => item.classes.remove('open'));