[Angular2 Form] Reactive form: valueChanges, update data model only when form is valid
2024-08-26 01:21:57
For each formBuild, formControl, formGroup they all have 'valueChanges' prop, which is an Observable.
reactiveForm: FormGroup;
video: Video; constructor(fb: FormBuilder) {
this.reactiveForm = fb.group({
// title <-- formControlName="title"
title: [
'Title', // <-- Default value
[
Validators.required,
Validators.minLength()
] // <-- Validations
],
duration: [
,
[
Validators.required,
Validators.pattern('[0-9]+')
]
],
description: [
'Description',
[Validators.required]
]
}); this.reactiveForm.valueChanges
.filter( x => this.reactiveForm.valid)
.map(value => new Video(value.title, value.duration, value.description))
.do(formValue => console.log(formValue))
.subscribe((video) => {
this.video = video;
})
class Video {
constructor(
private title: string,
private duration: number,
private description: string
){ }
}
If you want to only update form data model when form is valid, you can do:
.filter( x => this.reactiveForm.valid)
Reactive form is very useful when you want to do some background task without block user in the ui.
最新文章
- 四步让你的网站秒开,wordpress框架为例子,其他框架道理类似
- King&#39;s Quest —— POJ1904(ZOJ2470)Tarjan缩点
- MySql学习(二) —— where / having / group by / order by / limit 简单查询
- printf()函数
- Java 编译报错:illegal character
- Tree HDOJ--2682
- Java String.format 自动补全不够的位数
- 转:PHP性能优化大全
- DELL RACADM 批量升级戴尔IDRAC固件
- iframe自适应高度的多种方法方法小结(转)
- 第二章App框架设计与重构
- 典型的DIV+CSS布局——左中右版式
- 编写一个闹钟和定时关机工具(MFC VS2010)
- HTTP协议入门
- Java生成MD5加密字符串代码实例
- 201521123011 《java程序设计》 第7周学习总结
- 初识CSS3
- Spring Boot 2.x 编写 RESTful API (二) 校验
- OneNote中添加代码问题
- 第六节:SignalR完结篇之依赖注入和分布式部署