如何访问禁用的输入值?

Job*_*dev 9 angular-material angular

我正在角度2中创建一个反应形式,并使用材料角度2来输入;

我需要将输入设置为禁用,并在提交未锁定输入中的值时将要发送的值.我已经创建了输入并且禁用了正在运行.我的问题是,当我提交一个提交值时,它不会来.

我的代码

this.formVariacao = this._fb.group({

   id:[p && p['id']],
   codigoItem: [p && p['codigoItem'], Validators.required],
});
Run Code Online (Sandbox Code Playgroud)

我的HTML

<md-input-container>
    <input mdInput placeholder="Código da Variação" formControlName="codigoItem" name="codigoItem">
</md-input-container>
Run Code Online (Sandbox Code Playgroud)

我按如下方式阻止输入

this.formVariacao.get('codigoItem').disable();
Run Code Online (Sandbox Code Playgroud)

只有当我发送表格时,价值才会到来.Alguémpode me ajudar?

AJT*_*T82 22

正如您注意到Angular忽略了表单对象中的禁用表单控件.

这可以通过使用来轻松修复getRawValue(),包括所有表单控件,禁用或不禁用.例如,在您的提交中,您传递表单(而不是表单值),如下所示:

(ngSubmit)="onSubmit(formVariacao)" 
Run Code Online (Sandbox Code Playgroud)

然后你可以使用getRawValue:

onSubmit(form) {
  console.log(form.getRawValue())
}
Run Code Online (Sandbox Code Playgroud)