Я настраиваю реактивную форму в угловом 6, где у меня есть 2 поля ввода (один вход является необязательным входом) и кнопка отправки. Если я ввожу значение в одно поле ввода и нажимаю «Отправить», мне нужно заполнить другое поле ввода, установив соответствующее значение со стороны компонента. Если я ввожу значения в оба поля ввода, то вызывается другая функция. Если да, то как возможно двустороннее связывание данных в элементах управления формой? Я попытался использовать ngModel, который работает не так, как ожидалось, и из ответов на stackoverflow узнал, что использование ngmodel с элементами управления формой скоро станет устаревшим. Как я могу добиться того же, если так? Ниже приведен фрагмент кода, который я использую:
Component.ts:
export class myComponent implements OnInit {
converterForm: FormGroup;
model: myModel = new MyModel();
constructor(private formBuilder: FormBuilder, ) {
this.myForm = this.formBuilder.group({
vOne: [this.model.vOne],
vTwo: [this.model.vTwo],
});
}
onSubmit(searchInputs) {
this.model.vTwo= "new"; //I need to edit the form value and reflect it in html.. two-waybinding
this.converterForm.value.vOne = "edited";
console.log("Submit called");
}
}
HTML-файл:
<div>
<div>
<form [formGroup]="myForm" (ngSubmit)="onSubmit(myForm.value)">
<div>
<div>
<mat-form-field>
<input id="vOne" matInput formControlName="vOne" [(ngModel)]="model.vOne">
</mat-form-field>
</div>
<div>
<mat-form-field>
<input id="vTwo" matInput formControlName="vTwo" [(ngModel)]="model.vTwo">
</mat-form-field>
</div>
</div>
<div>
<button mat-raised-button color="primary" type="submit" (click)="search()">
<mat-icon aria-label="Search icon">search </mat-icon>
Search
</button>
</div>
</form>
</div>
спасибо заранее.