Я пытаюсь установить выбранное значение для раскрывающегося списка множественного выбора, как показано ниже.
// цикл, чтобы сделать несколько флажков выбранными и установленными в зависимости от условия
document.getElementsByTagName('mat-pseudo-checkbox')[index].classList.add('mat-pseudo-checkbox-checked');
document.getElementsByTagName('mat-pseudo-checkbox')[index].setAttribute("ng-reflect-state","checked");
это отражает изменение только косметически, поскольку, когда я пытаюсь получить все выбранные флажки с помощью (selectionChange)=filter($event)
<mat-select multiple (selectionChange) = "filter($event)" formControlName = "dropdown">
<mat-option *ngFor = "let info of infos" [value] = "info">
{{info}}
</mat-option>
</mat-select>
если событие, похоже, не получает значения, которые мы пытались установить ранее, пожалуйста, дайте мне знать, как событие выбирает выбранные значения в случае матового выбора.
PS: цель состоит в том, чтобы сохранить несколько полей выбора при переключении между угловыми вкладками





Here is working good link example
Вы можете установить выбранные значения с помощью функции FormControl.setValue()
пример.component.html
<mat-select [formControl] = "toppings" (selectionChange) = "filter($event)" multiple [(value)] = "selected" >
<mat-option *ngFor = "let topping of toppingList" [value] = "topping">{{topping}}</mat-option>
</mat-select>
пример.component.ts
toppings = new FormControl();
toppingList: string[] = ['Extra cheese', 'Mushroom', 'Onion', 'Pepperoni', 'Sausage', 'Tomato'];
ngOnInit(){
this.toppings.setValue(['Mushroom', 'Onion']);
}
filter(data){
console.info(data.value);
}
Пожалуйста, проверьте пример
см. этот пример стекблиц.
вы можете установить и получить значение с атрибутом formControl.
ваш образец не в контексте angular-material2.