[英]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.