2016-05-20 26 views
1

我使用角度材質創建這個角度應用,其中md-autocomplete非常有幫助。表單允許用戶在字段中選擇或輸入數據,而下一個字段將基於第一個md-autocomplete字段中的值填充數據。如果用戶從列表中選擇項目,則md-selected-item=ctrl.selectedText具有我需要用於下一個字段的對象。但是,如果用戶只複製一個值並將md-autocomplete字段和選項卡粘貼到下一個字段,則該值不會填充,因爲ctrl.selectedTextnull。有沒有一種方法可以在ng-blur上模擬md-selected-item是否有可能在angular-material md-autocomplete中的ng-blur上模擬`md-selected-item`?

+0

您可以創建一個小提琴/鋼筆嗎? –

+0

@JohnSmith,這是你要求的筆:http://codepen.io/kunikoho/pen/bpXvLy。正如你將在codepen中看到的那樣,當你開始輸入時,它會顯示與下拉列表中的查詢文本匹配的名稱。但是,如果您選擇選項卡而不是選擇,則選定的名稱爲空。有沒有什麼辦法打印選項卡也會模擬點擊一個項目並選擇它?一些用戶正在複製和粘貼信息,而不是從列表中輸入和選擇。 – user1828605

+0

問題僅限於複製和粘貼?我的意思是:對於你來說,粘貼它會選擇完全匹配還是應該明確地使用tab? –

回答

1

正如評論部分所述,您必須手動收聽TAB密鑰。 https://github.com/angular/material/issues/4697 - 明確聲明此功能不會被添加到庫中。

另一方面,對於複製粘貼問題,您可以將md-select-on-match指令添加到自動填充中。這應該自動選擇完全匹配的選項。不過你可以考慮使用md-match-case-insensitive

+0

哇!這真的很簡單嗎?那麼,我不能夠感謝你。 'md-select-on-match'起作用,但是md-match-case-insensitive不起作用。我用小寫複製並粘貼了相同的文本,但它與它不匹配。我還有一個問題:我在哪裏以及如何找到可用的指令。我檢查了角材料網站,但沒有找到你提到的這些指令。 – user1828605

+0

有趣的,它應該工作。可能是一個錯誤。文檔就在那裏,在指令部分:https://material.angularjs.org/latest/api/directive/mdAutocomplete –

+1

Ha。現在感到愚蠢。我以爲我檢查了一切,顯然不是。無論如何,謝謝你指出我正確的方向。你一直很有幫助。 – user1828605

相關問題