- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个响应式(Reactive)表单,我想直接填充我的模型。
form.component.html
<form [formGroup]="personForm" (ngSubmit)="savePerson()">
<md-card class="app-input-section">
<md-input formControlName="personName" placeholder="Person Name"></md-input>
... many more fields
<button md-raised-button color="primary">Save</button>
</md-card>
</form>
form.component.ts
@Component({
selector: 'person',
template: 'form.component.html'
})
export class FormComponent implements OnInit {
person: Person;
formBuilder: FormBuilder;
personForm: FormGroup;
constructor(formBuilder: FormBuilder, personService: PersonService) {
this.person = new Person();
this.personForm = formBuilder.group({
personName: [this.person.personName, Validators.required],
... many more properties for form
});
}
ngOnInit() {
console.log('ngOnInit() called');
}
savePerson() {
this.person.personName = this.personForm.value.personName;
... many more properties set
this.personService.savePersontoDB(this.person);
}
}
在 savePerson()
函数中,我必须将值从 personForm
FormGroup 复制到 Person 对象。对于少数属性,这很好,但是如果我有很多属性,这将是另一件需要管理的事情。我怎样才能简化这段代码,以便:
personForm
值会在表单值更改时自动复制到 Person 对象。 personForm
值会在用户按下“保存”按钮(随后调用 save()
函数)时自动复制到 Person 对象。这样,我意味着不必将所有单独的表单值复制到我的模型(人)对象。实现这一目标的最佳方式是什么?有没有我可以使用的 helper ,或者比这更简单?
非常感谢
JT
最佳答案
在我的应用中,我这样做了:
this.selectedPhysical = <Physical>this.physicalForm.value;
这将表单 ui 中的字段映射到基础对象。所以你可以:
this.person = <Person>this.personForm.value;
this.personService.savePersontoDB(this.person);
关于 Angular 2 : ReactiveForm Updating Model,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39326618/
我已经开发了一个应用程序一个月了。我遇到了很多问题,几乎所有问题我都找到了解决方案,而不是打开线程,但有一个设计问题我还没有弄清楚。 假设我有一个名为 MonkeyComponent 的小组件,它只有
我正在尝试禁用reactive_forms中的提交按钮 当我执行此代码时: import 'package:reactive_forms/reactive_forms.dart'; final for
我在我的第一个 Angular 项目中实现 react 形式,我无法弄清楚为什么选择的值没有被改变。对于普通文本的输入字段,它安静地工作,对于选择字段,什么也没有发生。我跟着几个教程,无法解决。表单加
我有一个响应式(Reactive)表单,我想直接填充我的模型。 form.component.html ... many more fields
这个问题在这里已经有了答案: Angular - controlValueAccessor method writeValue() not being called (2 个回答) 2年前关闭。 我创
我正在创建一个由两个 FormArray、items 和 savedItems 组成的表单。在表单数组中的每个元素上都有一个按钮,可以从数组中删除该元素。 顶部/第一个 FormArray 从对象列表
我试图在表单上显示一个 FormControl 以保存电话国家/地区代码前缀,并且我希望它始终在左侧填充区域显示一个加号。我的赌注是在输入中使用 :before 元素,但令人惊讶的是我无法让它出现在
在构建更复杂的响应式表单时,我在多次嵌套 reactiveFormGroups 时偶然发现了一个问题。 所以我有两种情况: 表单组件 -> 表单局部组件 -> 自定义输入组件 表单组件 -> 自定义输
我有一个响应式(Reactive)表单,当用户在输入中按下 ESC 键时,我想在表单隐藏之前显示“你确定吗”模式。 一旦显示模态,我就会在控制台中收到以下异常: ERROR Error: Expres
我正在使用 angular5 reactivemodule 在我的应用程序中显示一个表单。我还使用了必需的验证器,它随后会将字段设置为红色并向用户显示错误消息。 它按预期工作,但是当我使用 重置表单时
我正在使用 Material Design 和 ReactiveForms 来处理级联下拉菜单。该代码有一个州的下拉列表,一旦选择,将过滤城市的下拉列表。 我找到了这个例子http://www.tal
我正在使用 Material Design 和 ReactiveForms 来处理级联下拉菜单。该代码有一个州的下拉列表,一旦选择,将过滤城市的下拉列表。 我找到了这个例子http://www.tal
我尝试使用 来自 Angular Material(不是 AngularJS)而不使用 react 形式。但是他们所有的例子都使用 react 形式...... 我尝试做的事情: 1. 当在 mat-
我在 ReactiveForm FormControl 上放置了一个货币属性指令,它在输入事件 (onKeyDown) 上使用 @HostListener 来移除输入时输入的所有无效字符(字母和符号)
给定一个组件,带有一个表单声明 ngOnInit() { this.form = this.fb.group({ address: [""], }); } 表单上的两个输入控件,都引用
大家好,我有一个 Formarray,其中有一组角色。在编辑期间,它会动态删除并添加该表单数组中的角色,直到这里一切正常,但是当我提交表单时,它会出现错误并且页面会刷新。 错误:类型错误:无法读取 n
我是一名优秀的程序员,十分优秀!