снимите флажок при удалении ngModel с помощью Mat-select несколько угловых5 - PullRequest
0 голосов
/ 24 сентября 2018

Мой код указан ниже:

<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 множественном выпадающем списке, удаленный элемент снят.

Можете ли вы помочь мне, пожалуйста?

1 Ответ

0 голосов
/ 24 сентября 2018

Это потому, что обнаружение изменений Angular сравнивается по ссылке.Когда вы соединяете массив, у селектора нет возможности узнать, что что-то изменилось.Вы можете обойти это, переназначив массив или установив значение через FormControl, например:

this.selectedName = this.selectedName.splice(index, 1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...