如何在页面加载时为元素设置焦点?
How to set focus for element on page load?
我是 AngularDart 的新手,我想将第一个输入集中在页面上(使用装饰器的属性),但我不知道该怎么做。这是我的装饰器:
import 'dart:html' as html;
import 'dart:async';
import 'package:angular/angular.dart';
@Decorator(selector: '[autofocus]')
class InputFocus implements AttachAware {
final html.InputElement element;
InputFocus(html.Element this.element) {
element.onFocus.listen((_) => print('element focused'));
}
@Override
attach() {
element.focus();
}
}
当我单击该元素时,系统会打印消息,因此该元素就是我要查找的元素。不知何故,元素没有集中在附加上,因为当我重新加载页面时没有打印消息。我怎样才能实现我的目标?也许有另一种方法可以在呈现 DOM 时到达元素?
提前致谢!
一些延迟应该会有帮助
new Future.delayed(const Duration(milliseconds: 50), () => element.focus());
我是 AngularDart 的新手,我想将第一个输入集中在页面上(使用装饰器的属性),但我不知道该怎么做。这是我的装饰器:
import 'dart:html' as html;
import 'dart:async';
import 'package:angular/angular.dart';
@Decorator(selector: '[autofocus]')
class InputFocus implements AttachAware {
final html.InputElement element;
InputFocus(html.Element this.element) {
element.onFocus.listen((_) => print('element focused'));
}
@Override
attach() {
element.focus();
}
}
当我单击该元素时,系统会打印消息,因此该元素就是我要查找的元素。不知何故,元素没有集中在附加上,因为当我重新加载页面时没有打印消息。我怎样才能实现我的目标?也许有另一种方法可以在呈现 DOM 时到达元素?
提前致谢!
一些延迟应该会有帮助
new Future.delayed(const Duration(milliseconds: 50), () => element.focus());