我是AngularDart的新手,我希望将第一个输入集中在页面上(使用我的decorator属性),但我无法弄清楚如何做到这一点。这是我的装饰者:
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时到达元素?
提前致谢!
答案 0 :(得分:3)
有些延迟应该有帮助
new Future.delayed(const Duration(milliseconds: 50), () => element.focus());