angular - Angular 6读取空输入值
问题描述
我通过 HttpClient 从 PHP 服务器获取 Angular 6 的值,并将该值发送到 aformControlInput
以设置为默认值:
<mat-form-field color="warn">
<input matInput formControlName="unit_type"
placeholder="Unit type" value="{{unit_type}}">
</mat-form-field>
我将相同的值保存到一个变量中,将其与输入的值进行比较,以便我可以检测到更改,以了解我是否激活了更新按钮:
this.unit_type = data['unit_info'][0]['unit_type'];
安慰这个变量正确显示,并且值显示在输入中。
现在,当我再次获得它的价值时,如下所示:
unit_type_upd = this.formGroup.controls['unit_type'].value;
console.log(unit_type_upd);
它向我显示空值,但是当我更改它时,它会检测到更改,并进行比较过程。
为什么unit_type_upd
没有在组件加载的输入中显示值?
解决方案
使用Angular Reactive Form
时,不应将数据绑定到诸如
value="{{unit_type}}"
正确的方法是在你的组件中
this.formGroup.controls['unit_type'].setValue(this.unit_type)
您可以在创建FormControl
这样的时候设置默认值
new FormControl('default value', [Validators.required]);
推荐阅读
- python - 为什么有 %26 (Python)?
- jestjs - 使用 Babel 和 Jest 在测试中启动 Web API 文件对象时出现问题
- python - 如何使用 django-rest-framework 中的序列化程序将相似数据合并到自定义字段中?
- java - 如何在 webflux ServerHttpRequest 中获取原始 url 路径
- swift - 将文件承诺从 NSView 拖到桌面或其他应用程序 (macOS)
- javascript - 在 d3.js 树图布局中,如何使最后一个孩子可点击并填充整个树图布局
- asp.net-core - 带有 Include、ThenInclude 的 EF Core razor 页面。显示字符串而不是 Id
- html - 无论显示大小如何,Html 页面都应始终适合屏幕
- javascript - 试图将代码从 Python 迁移到 JavaScript 并停留在编码/计算上
- c# - Powershell Cmdlet 调用不一致