2016-06-15 17 views

Odpowiedz

8

Spróbuj tego:

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()" /> 

Limit czasu jest potrzebne, aby upewnić się, że komponent autouzupełnianie jest renderowany w czasie wywoływanie ostrości.

4

Można to zrobić poprzez dodanie atrybutu

MD-autofokus

przykład:

<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: here

Pozdrawiam.

+1

To działa po raz pierwszy, że okno dialogowe jest otwarte, po kliknięciu ok, dane są czyszczone, ostrość jest tracona, a funkcja autofokusa md nie działa. Mam to rozwiązanie, gdy okno dialogowe jest ukryte, nazywam ten document.getElementById ("nazwa produktu-input"). QuerySelector ("input"). Focus(); – mos

Powiązane problemy