[英]Angular Forms - getting what changed from ValueChange
我正在使用 Angular 的反应式 Forms 并且我正在实施撤消/重做功能。
我想要的是将同一字段上的连续修改“打包”到一个单独的撤消操作中。 我认为为了实现这一点,我需要计算某种增量,也许使用差异库(如this )。
让我用一个例子来解释一下:
我希望撤消操作恢复“名称”字段中的“汤姆”值,而不通过“Jerr”、“Jer”等值。
这是只能通过 Observable 转换附加到 form.valuechange 才能完成的事情,还是有一些更适合该任务的替代方法?
我没有任何代码要分享,因为目前我只是在研究如何实现该功能,所以请不要告诉我“告诉我们你得到了什么”的口头禅;)
谢谢!
您可以使用 rxjs 运营商去抖和成对实现,如
formControl=new FormControl('')
this.formControl.valueChanges.pipe(
startWith(this.fromControl.value),
debounceTime(500),
pairwise())
.subscribe(([old,value])=>{
console.log(old,value)
})
或仅使用 debounceTime
this.formControl.valueChanges.pipe(
debounceTime(500),
.subscribe((res)=>{
this.myLog.push(res)
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.