需要按两次复选框才能使 onclick 起作用
Checkbox needs to be pressed twice for onclick to work
我有一个由 DOM 重复组成的复选框:
<paper-listbox id="afgerondtitel">
<paper-item id="check1">Afgerond</paper-item>
<template is="dom-repeat" items="{{gerechten}}" count="[[num_box]]">
<paper-item id="item_[[index]]"><paper-checkbox checked="{{item.checked}}" on-click="click"></paper-checkbox></paper-item>
</template>
</paper-listbox>
然后我尝试使用此函数从 ArrayList 中删除一个变量:
click(){
for(var i = this.gerechten.length - 1; i >= 0; i--) {
if(this.gerechten[i].checked) {
this.gerechten.splice(i, 1);
}
}
}
问题是需要按两次复选框(选中然后取消选中)才能从列表中删除变量。
我想选中该复选框,以便代码立即从列表中删除 de variabele。
提前致谢!
实际上,它是在第一次点击时从数组中删除。但是您需要使用 Polymer 方式 array.splice
才能观察到变化,因此请使用:
this.splice('gerechten', i, 1); // in order to observable changes in dom-repeat.
而不是:
this.gerechten.splice(i, 1);
对于对象和数组,您需要始终以可观察的方式进行更改。查看此 link 了解更多详情:
https://www.polymer-project.org/2.0/docs/devguide/model-data#array-mutation
我有一个由 DOM 重复组成的复选框:
<paper-listbox id="afgerondtitel">
<paper-item id="check1">Afgerond</paper-item>
<template is="dom-repeat" items="{{gerechten}}" count="[[num_box]]">
<paper-item id="item_[[index]]"><paper-checkbox checked="{{item.checked}}" on-click="click"></paper-checkbox></paper-item>
</template>
</paper-listbox>
然后我尝试使用此函数从 ArrayList 中删除一个变量:
click(){
for(var i = this.gerechten.length - 1; i >= 0; i--) {
if(this.gerechten[i].checked) {
this.gerechten.splice(i, 1);
}
}
}
问题是需要按两次复选框(选中然后取消选中)才能从列表中删除变量。
我想选中该复选框,以便代码立即从列表中删除 de variabele。
提前致谢!
实际上,它是在第一次点击时从数组中删除。但是您需要使用 Polymer 方式 array.splice
才能观察到变化,因此请使用:
this.splice('gerechten', i, 1); // in order to observable changes in dom-repeat.
而不是:
this.gerechten.splice(i, 1);
对于对象和数组,您需要始终以可观察的方式进行更改。查看此 link 了解更多详情: https://www.polymer-project.org/2.0/docs/devguide/model-data#array-mutation