我有一个使用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。
提前致谢!
答案 0 :(得分:1)
实际上,它是在第一次点击时从阵列中删除的。但是您需要使用Polymer方式array.splice
来进行可观察的更改,因此请使用:
this.splice('gerechten', i, 1); // in order to observable changes in dom-repeat.
而不是:
this.gerechten.splice(i, 1);
对于对象和数组,您将始终需要以可观察的方式进行更改。查看此链接了解更多详情: https://www.polymer-project.org/2.0/docs/devguide/model-data#array-mutation