web-dev-qa-db-ja.com

angular md-autocompleteでフォーカスを設定する方法は?

設定するフィールドが少ないダイアログがあります。最初のフィールドはmd-autocompleteです。[OK]をクリックすると、これらのフィールドはすべてクリーンアップされるので、md-autocompleteでフォーカスをtrueに設定して、入力を開始します。再びデータ。

10
mos

これを試して :

JS:

$scope.setFocus = function() {
  setTimeout(function() {
    document.querySelector('#autoCompleteId').focus();
  }, 0);
}

HTML:

<md-autocomplete .............. md-input-id="autoCompleteId">
  <!-- Note the id -->
</md-autocomplete>

<input type="button" value="clickMeForFocus" ng-click="setFocus()" />

フォーカスの呼び出し時にオートコンプリートコンポーネントが確実にレンダリングされるようにするには、タイムアウトが必要です。

11
Rambler

あなたは属性を追加することによってそれを行うことができます

md-オートフォーカス

例:

<md-autocomplete md-autofocus md-selected-item="selectedItem" md-search-text="searchText" md-items="item in getMatches(searchText)" md-item-text="item.display">
    <span md-highlight-text="searchText">{{item.display}}</span>
</md-autocomplete>

ref: ここ

よろしく。

5
Hardik Vaghani