角度getRawValue()无法从反应形式获取{值}

时间:2018-10-10 09:19:20

标签: angular angular-reactive-forms

我有一个角反应形式,除了许多其他控件外,我还有两个我无法获得onSubmit()的值。

请参阅Val1和Val2:

buildForm() {
        this.createRequestForm = this.form.group({
            Name: ['', [Validators.required, CustomValidatorService.validateCharacters]],
            Comments: ['', [CustomValidatorService.validateCharacters]],
         …
            Val1: [{ value: '', disabled: true }],
            Val2: [{ value: '', disabled: true }],

HTML:

<input name="Val1" matInput formControlName="Val1" placeholder="Val 1" [value]="valModel?.val1"> 

...与val2相同。

这是我填充val1和val2的方式

    this.createRequestForm.get('Name').valueChanges
        .subscribe(value => {
            if (value && value.length === 6) {
                this.commonHttpService.getValDetails(value)
                    .subscribe(valModel => this.valModel = valModel);
            }
        }); 

如您所见,val1和val2的值来自http调用,该调用将结果绑定到this.valModel,然后它自动填充表单。

一切正常,值填充在屏幕上,但是当我尝试使用

提交表单时
  

.getRawValue()

它显示val1 =“”,与val2相同...

我想这是将这些值绑定到控件的方法吗?

有什么主意吗?

1 个答案:

答案 0 :(得分:1)

尝试

  

this.createRequestForm.value.val1

获取createRequestForm(表单)字段的值