Я хочу иметь значение [formControl] = "toppings", когда я изменяю значение в моей форме. Я получаю значение только при ручных изменениях. Я хочу иметь val в init и когда я использую функцию selectal () и deselectall.
HTML
<div class=col-lg-6 col-md-6 col-sm-12>
<mat-form-field appearance="outline" style="width:100%" >
<mat-label>Rechercher un soin de support</mat-label>
<mat-select placeholder="Toppings" [formControl]="toppings" multiple >
<button
mat-raised-button
class="mat-primary fill text-sm"
(click)="selectAll()">
Tout sélectionner
</button>
<button
mat-raised-button
class="mat-warn fill text-sm"
(click)="deselectAll()">
Tout désélectionner
</button>
<mat-option *ngFor="let topping of toppingList" [value]="topping" >{{topping}}</mat-option>
</mat-select>
</mat-form-field>
</div>
TS
topping: string;
toppings = new FormControl( ['Soins palliatifs'] );
toppingList: string[] =
[
'Evaluation de la douleur',
'Evaluation psychologique',
'Evaluation nutritionnelle',
'Evaluation sociale',
'Evaluation physique',
"Conseil d'hygiène de vie",
'Sexualité et fertilité',
'Soins palliatifs',
'Oncogériatrie'
];
selectAll() {this.toppings = new FormControl(
[
'Evaluation de la douleur',
'Evaluation psychologique',
'Evaluation nutritionnelle',
'Evaluation sociale',
'Evaluation physique',
"Conseil d'hygiène de vie",
'Sexualité et fertilité',
'Soins palliatifs',
'Oncogériatrie'
] ); }
deselectAll() { this.toppings = new FormControl( [''] );
}
ngOnInit() {
this.toppings.valueChanges.subscribe(val=>console.log(val));
}
Я получаю значение только при ручных изменениях. Я хочу иметь val в init и когда я использую функцию selectal () и deselectall.