web-dev-qa-db-fra.com

Comment lier la valeur par défaut dans mat-radio-group angular réactives

Dans mon cas, il faut activer l'option 01 comme sélection par défaut. Il fonctionne avec la propriété checked = true, mais la valeur n'est pas liée à la formeControlName = "options", elle est liée lorsque l'utilisateur sélectionne une option. s'il n'y en a aucune, la valeur des options de sélection de l'utilisateur est "null".

  <div class="row">
      <mat-radio-group formControlName="options">
        <mat-radio-button checked=true  value="1">Option 01</mat-radio-button>
        <mat-radio-button  value="2">Option 02</mat-radio-button>
      </mat-radio-group>
    </div>

S'il vous plaît, aidez-moi à résoudre ce problème. Merci.

17
Dimuthu

Ce que vous voulez faire est de supprimer le checked et de définir la valeur présélectionnée sur votre formControl. Ainsi, lorsque vous construisez votre formulaire:

constructor(private fb: FormBuilder) { 
  this.myForm = this.fb.group({
    options: ['1']
  })
}

et ensuite vous supprimez simplement l'attribut checked:

<mat-radio-group formControlName="options">
  <mat-radio-button value="1">Option 01</mat-radio-button>
  <mat-radio-button  value="2">Option 02</mat-radio-button>
</mat-radio-group>
30
AJT82