如何在页面加载时设置元素的焦点?

时间:2015-07-16 16:29:17

标签: dart angular-dart

我是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时到达元素?

提前致谢!

1 个答案:

答案 0 :(得分:3)

有些延迟应该有帮助

new Future.delayed(const Duration(milliseconds: 50), () => element.focus());