问题
I have a text input in a AngularDart component like the following:
<input type="email" id="inputFirstName" ng-model="cmp.inputFirstName">
How can I make the text input auto-focus every time the component shows?
I tried setting the html5 attribute autofocus, but that only works on the first time the component is displayed.
回答1:
You could try to use a custom Directive (new Decorator) for this:
import 'package:angular/angular.dart' as ng;
import 'dart:html';
@ng.Decorator(selector: '[autofocus]')
class AutoFocusDecorator implements ng.AttachAware{
InputElement inputElement;
AutoFocusDecorator(Element this.inputElement);
@override
void attach() {
inputElement.focus();
}
}
and use it like
<input type="email" id="inputFirstName" ng-model="cmp.inputFirstName" autofocus>
来源:https://stackoverflow.com/questions/23321469/i-have-an-angulardart-component-how-to-get-the-text-input-field-to-auto-focus-e