Изменить данные в форме управления Angular - PullRequest
0 голосов
/ 05 июля 2018

У меня есть приложение Angular v6. Вот моя FormGroup

 stepperForm: FormGroup;

  constructor() {
    this.stepperForm = new FormGroup({
      apps: new FormControl(''),
      params: new FormControl('', SpecifyDetailsStepComponent.isValidJsonValidatorFn()),
    });

У меня есть метод, в котором я хочу изменить данные в formControl params:

   const stringData = JSON.stringify(jsonData);
      this.stepperForm.setValue({
        apps: new FormControl(''),
        params: new FormControl(stringData , SpecifyDetailsStepComponent.isValidJsonValidatorFn()),
      });
    }

У меня нет ошибок в консоли, но данные вообще не меняются.

Edit:

Мне нужно иметь возможность использовать валидатор. Спасибо

Ответы [ 3 ]

0 голосов
/ 05 июля 2018

Делать через форму: this.stepperForm.get('FormControlName').setValue('WhateverData'); Делать через FormControl: this.formControl.setValue('whateverData');

0 голосов
/ 05 июля 2018

Вы можете установить несколько значений одновременно, используя ниже одного

this.stepperForm.setValue({
    apps: 'newValue',
    params: 'newValue',
});
0 голосов
/ 05 июля 2018

Вы можете просто сделать:

this.stepperForm.get('params').setValue(stringData);

А затем вступить в силу для валидаторов.

this.stepperForm.get("params").updateValueAndValidity();
...