簡體   English   中英

僅針對用戶輸入的角度去抖動

[英]Angular debounce only for user input

我在 Angular2 中有一個反應式表單設置。 在一個組件中,我訂閱了去抖動時間為 500 毫秒的表單控件的值更改,例如:

myForm.get("myField").valueChanges.debounceTime(500).subscribe(...);

如果值是由代碼而不是用戶更改的,有沒有辦法跳過去抖動時間? 或者有沒有辦法拆分這兩個事件?

在以編程方式設置值的地方,您可以使用emitEvent:false ,在文檔中說明...

如果emitEventtrue ,則此更改將導致在 FormControl 上發出valueChanges事件。 這默認為true

因此將其設置為false不會導致valueChanges觸發,因此如果您在某個時候設置該值,您可以執行以下操作:

this.myForm.get('myField').patchValue('my value', {emitEvent:false})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM