我的代码如下:
<mat-form-field>
<mat-select [formControl]="employeename" [(ngModel)]="selectedName" multiple (selectionChange)="selectedchange()" >
<mat-select-trigger>
{{employeename.value ? employeename.value[0] : ''}}
<span *ngIf="employeename.value?.length > 1" >
(+{{employeename.value.length - 1}} {{employeename.value?.length === 2 ? 'other' : 'others'}})
</span>
</mat-select-trigger>
<mat-option *ngFor="let employee of employeeNames " [value]="employee" data-ng-selected="true">{{employee}}</mat-option>
</mat-select>
</mat-form-field>
我已经删除了selectedName: this.selectedName.splice(index, 1);
的一个元素。
但是,在mat-select
多个保管箱中,已删除的元素是uncheckbox。
你能帮我吗?
答案 0 :(得分:0)
那是因为Angular的更改检测通过引用进行比较。当您拼接数组时,select无法知道任何更改。您可以通过重新分配数组或通过FormControl设置值来解决它,例如:
this.selectedName = this.selectedName.splice(index, 1);