美文网首页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