angular - 如何访问禁用输入的值?

标签 angular angular-material

我正在创建一个 Angular 为 2 的 react 形式,并将 Material Angular 为 2 用于输入;

我需要将输入设置为禁用,并在提交解锁输入中的值时发送要发送的值。我已经创建了输入并且禁用正在运行。我的问题是,当我提供提交值时,它没有出现。

我的代码

this.formVariacao = this._fb.group({

   id:[p && p['id']],
   codigoItem: [p && p['codigoItem'], Validators.required],
});

我的html

<md-input-container>
    <input mdInput placeholder="Código da Variação" formControlName="codigoItem" name="codigoItem">
</md-input-container>

我如下屏蔽输入

this.formVariacao.get('codigoItem').disable();

只有当我发送表单时,值才不会出现。 Alguém pode me ajudar?

最佳答案

正如您所注意到的,Angular 会忽略表单对象中禁用的表单控件。

这可以通过使用 getRawValue() 轻松解决,它包括所有 表单控件,无论是否禁用。因此,例如在您的提交中,您像这样传递表单(而不是表单值):

(ngSubmit)="onSubmit(formVariacao)" 

然后你可以使用getRawValue:

onSubmit(form) {
  console.log(form.getRawValue())
}

关于angular - 如何访问禁用输入的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44351868/

相关文章:

javascript - 使用filter()时RxJS延迟更新下一个值

应用自定义全局字体系列时,Angular mat-icon 不会加载图标

javascript - AngularJS 中的 ngMessages 验证不会清除 CSS 中的错误消息

Angular 4 - 根据值改变颜色

angularjs - 如何向 Angular Material Tabs 添加内容

angular - 将 Angular Material 添加到自定义库

css - 是否可以使 md-button 更小?

javascript - 通过 View 中的 @ViewChild 调用组件上的方法到 QueryList

javascript - 将零填充到输入字段但延迟一秒

angular - Angular 2/4 中的并行(异步非阻塞)路由