Ich habe einen Dialog mit wenigen Feld zu setzen, das erste Feld ist eine md-Autocomplete, wenn ich ok klicke alle diese Felder werden gereinigt, so möchte ich Fokus in der md-Autocomplete, für das Starten der Daten wieder zu füllen gesetzt .wie Fokus in eckigen MD-Autocomplete gesetzt?
7
A
Antwort
8
Versuchen Sie folgendes:
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()" />
Der Timeout, um sicherzustellen, ist erforderlich, dass die Autocomplete-Komponente zum Zeitpunkt der gemacht wird, Aufruf Fokus.
4
können Sie tun, indem Attribut Hinzufügen
md-Autofokus
ein Beispiel:
<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
Grüße.
Das funktioniert zum ersten Mal, dass Dialog geöffnet wird, wenn klicken Sie auf OK, und Daten werden gereinigt, Fokus ist verloren und MD-Autofokus funktioniert nicht. Ich habe diese Lösung, wenn der Dialog ausgeblendet ist, nenne ich diese document.getElementById ('Produktname-Eingabe'). QuerySelector ('Eingabe'). Focus(); – mos