У меня есть следующая форма:
currentLang: string = "en-Gb";
this.myForm = new FormGroup({
Languages: new FormGroup({
en-Gb: new FormGroup({
first: new FormControl('Nancy', Validators.minLength(2)),
last: new FormControl('Drew', Validators.required)
}),
de-De: new FormGroup({
first: new FormControl('Nancy', Validators.minLength(2)),
last: new FormControl('Drew', Validators.required)
}),
})
});
switchLang(newLang) {
this.currentLang = newLang;
}
И шаблон кода здесь:
<form [formGroup]="myForm" novalidate (ngSubmit)="submit(myForm)" class="generalForm">
<div formGroupName="Languages">
<ol formGroupName="{{currentLang}}">
<li>
<label>Firstname:</label>
<input id="first" type="text" formControlName="first">
</li>
<li>
<label>Lastname:</label>
<input id="last" type="text" formControlName="last">
</li>
</ol>
</div>
</form>
<button (click)="switchLang('de-De')">Switch to German</button>
Но когда я нажимаю кнопку «Перейти к немецкому языку», мои поля все еще основаны на значениях «en-Gb». Как я могу заставить эти поля перейти на немецкий режим? При переключении языка я ожидал, что поля станут пустыми, чтобы я мог заполнить поля для немецкого представления.