【发布时间】:2019-09-28 06:39:39
【问题描述】:
我的应用程序处于最后阶段,我们还没有在输入标签上实现自动对焦。现在我们有一个要求,我们希望将焦点放在每个页面中的第一个输入标签上。 我的应用程序中有很多页面/表单,因此在每个组件中使用 ViewChild 可能是一项乏味的任务。 因此,我正在寻找一种可以在一个地方编写一些代码的方法,它会触发对加载任何页面的第一个输入的关注。 谁能建议一些方法来做到这一点?
【问题讨论】:
-
autofocus属性呢? -
@AJT82 我认为 OP 正在寻找通用逻辑,它为每个组件找到第一个输入并设置焦点,但不对组件本身进行任何更改。
-
@SangramNandkhile 是正确的。在每个组件的第一个输入上设置自动对焦是一项乏味的任务,而且我们可能会错过一些东西。正如桑格拉姆所说,我正在寻找一些共同的逻辑。可能是一些使用角度变化检测或编译器运行的服务,并在所有组件中找到第一个输入并放置自动对焦。可能是角度编译器如何检测装饰器并根据该装饰器在类上放置一些代码。
-
I'm looking for some common logic. may be some service which runs with angular change detection or compiler and find first input in all the components and puts autofocus. May be how angular compiler detects decorators and puts some code according to that decorator on the class好的。那么您是否尝试过一些方法来实现这一目标? -
我尝试为此创建一个装饰器,但仍然需要在每个组件中调用它。所以我们在想如果我们能有更好的解决方案@AJT82
标签: angular