Angular getRawValue()不从反应形式获取[值]

Angular getRawValue() does not fetch [values] from reactive form

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

参见Val1和Val2:

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

HTML:

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

...与val2相同。

这是我填充val1和val2的方法

1
2
3
4
5
6
7
    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相同...

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

任何的想法?


尝试

this.createRequestForm.value.val1

获取createRequestForm(窗体)字段的值