如何在角度5的变化上获得复选框点击事件 我使用了以下代码
html代码
<mat-accordion>
<mat-expansion-panel>
<mat-expansion-panel-header>
option
</mat-expansion-panel-header>
<mat-checkbox *ngFor="let option of options; let i = index"
value="option" [checked]="options.indexOf(option) >= 0"
(change)="updateCheckedOptions(option, $event)"> {{option}}</mat-checkbox>
</mat-expansion-panel>
</mat-accordion>
ts代码
initOptionsMap() {
for (let x = 0; x<this.order.options.length; x++) {
this.optionsMap[this.options[x]] = true;
}
}
updateCheckedOptions(option, event) {
this.optionsMap[option] = event.target.checked;
}
updateOptions() {
for(const x in this.optionsMap) {
if(this.optionsMap[x]) {
this.optionsChecked.push(x);
}
}
this.options = this.optionsChecked;
this.optionsChecked = [];
}
我正在将错误视为
错误类型错误:无法读取未定义
的属性“已检查”
请帮我解决方案
答案 0 :(得分:0)
event
对象没有target
属性(这是错误告诉你的)。
您正在寻找的内容很可能是事件对象本身的checked
属性,因此您可以像这样修改您的函数:
updateCheckedOptions(option, event) {
this.optionsMap[option] = event.checked;
}