Angular 6 [formControl] valueChanges - PullRequest
       12

Angular 6 [formControl] valueChanges

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

Я хочу иметь значение [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>&nbsp;&nbsp;
            <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.

...