[英]Angular-ui Bootstrap Typeahead control and ng-keydown
在我的應用程序中,我有一個具有以下行為的表單:輸入失去焦點或用戶按下Enter鍵后,表單字段值將增量上傳到服務器。 通過掛接失去焦點(自定義指令)和按鍵( ng-keydown
)事件來完成此操作。 同時,我正在使用Angular-ui Bootstrap Typeahead控件進行城市查找(以及其他一些字段)。 輸入看起來像這樣:
<input type="text" name="city"
ng-model="dispatcher.city"
ng-keydown="dispatcher.inputKeyPress($event)"
typeahead="obj.city as obj.city for obj in lookup('city', $viewValue)">
沒有預先輸入的輸入就可以正常工作,但是當涉及到城市輸入時,它的工作方式如下:
我想keypress事件會導致兩個動作:鍵入處理其方式,同時ng-keydown
解釋其方式。 在我看來,要么提前輸入應該“使用”該事件,而不是讓它“繼續進行”,或者ng-keydown
回調應該知道是否顯示了提前輸入建議(以便它可以“跳過”某些事件) 。
我玩過typeahead-on-select="onSelect($item, $model, $label)"
但是我無法以某種方式同步這兩個回調( inputKeyPress
和onSelect
)–按鍵似乎運行得更快。
任何建議如何完成這些? 也許還有其他任何事情?
謝謝
除此之外,Typeahead是一個出色的控件。
嘗試完全刪除您的keydown事件掛鈎,對我來說,您似乎並不需要它。 您的邏輯應該在提前選擇事件和失去焦點時觸發,您將在所有情況下跟蹤價值變化。
希望這可以幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.