首页 > 解决方案 > Angular 6 getRawValue() 不会返回禁用值

问题描述

我有一个示例表格如下:

 stuff: IStuff; 
 buildForm() {
        this.createForm = this.form.group({
            Val1: [{ value: '', disabled: true }],
            Val2: [{ value: '', disabled: true }]
        });

如您所见,这两个值都设置为禁用。

构造函数触发 httpClient 获取并填充模型:

this.exampleHttpService.getStuff()
    .subscribe(stuff => this.stuff = stuff); 

东西在哪里:

export interface IStuff {
    Val1?: number; 
    Val2?: number
}

Val1 和 Val2 的绑定是在 html 中完成的,如下所示:

  <input name="Val1" matInput formControlName="Val1" [value]="stuff?.Val1">

这一切都是上帝,它很好地分配了值并将它们显示在屏幕上;但是,当我尝试使用这些值取回时

this.createForm.getRawValue()

我得到两个值的 '' 空字符串......

任何的想法?

标签: angularnullangular-materialangular-reactive-forms

解决方案


从服务中取回数据后,您是否在 FormControls 上设置了值?从我看到的代码中,您将 FormControls 初始化为空字符串,这让我猜测您可能没有设置值?


推荐阅读