美文网首页SAP
SAP Spartacus Focusdirective继承自L

SAP Spartacus Focusdirective继承自L

作者: 华山令狐冲 | 来源:发表于2021-03-17 09:24 被阅读0次

Focusdirective并没有特殊的实现,同其父类Lockdirective相比只是把selector暴露出来而已:

三个依赖:

  • elementRef: 施加Directive的DOM元素
  • service: keyboardFocusService
  • renderer: Renderer2

再看其父类LockDirective的实现。

有一个默认的配置defaultConfig:

当host元素有事件发生时,触发@HostListener修饰的handleEnter方法:

unlock意味着tabindex为0, 即focus首先落在的位置。

lock实现就是把元素的tabindex设为-1:

注意这里调用注入的renderer给HTML元素设置focus_group_attr属性:

shouldAutofocus返回值取决于this.config.autofocus的配置:

这里并没有看到自动设置元素focus的代码:

单击上图第157行代码,进入AutoFocusDirective的实现:

这里调用了元素的focus方法实现focus.

更多Jerry的原创文章,尽在:"汪子熙":


相关文章

网友评论

    本文标题:SAP Spartacus Focusdirective继承自L

    本文链接:https://www.haomeiwen.com/subject/dshjgktx.html