如何更改MatChip所选资产?我不想点击选择/取消选择芯片(也必须改变芯片颜色。) 我尝试了什么:
HTML :
<mat-chip-list>
<mat-chip *ngFor="let label of item.labels"
#lbl (click)="selectChip(lbl)">
{{label}}
</mat-chip>
</mat-chip-list>
TS :
selectChip(item: MatChip) {
item.selected ? item.deselect() : item.select();
}
点击它会抛出
错误TypeError:item.select不是函数
如何解决?
答案 0 :(得分:0)
没有select()或deselect()方法,只有选定的getter和setter函数,所以你可以这样解决:
selectChip(item: MatChip) {
item.selected = !item.selected;
}
希望这有帮助。
答案 1 :(得分:0)
如果您使用此html(请注意#lbl =“ matChip” ):
<mat-chip-list>
<mat-chip *ngFor="let label of item.labels"
#lbl="matChip" (click)="selectChip(lbl)">
{{label}}
</mat-chip>
</mat-chip-list>
您的selectChip
方法将收到MatChip,然后您可以执行以下操作:
selectChip(item: MatChip) {
item.toggleSelected();
}