Boa noite galera!
estou com o seguinte problema, quando criei a variável firstFocusableElement e lastFocusableElement HTMLElement = null; recebi o erro abaixo:
Type 'null' is not assignable to type 'HTMLElement'.ts(2322)
Alguém poderia me ajudar a resolver esse erro?
Obs: esse erro só ocorre com o código que estou desenvolvendo com o passar das aulas. quando rodo o projeto já pronto disponibilizado pelo professor isso não acontece.
import { AfterViewInit, Directive, ElementRef } from '@angular/core';
@Directive({
selector: '[appFocusTrap]'
})
export class FocusTrapDirective implements AfterViewInit {
private firstFocusableElement: HTMLElement = null;
private lastFocusableElement: HTMLElement = null;
constructor(private elementRef: ElementRef<any>) {}
public ngAfterViewInit(): void {
const focusableElements = this.elementRef
.nativeElement
.querySelectorAll(`
[tabindex]:not([tabindex="-1"]),
a[href]:not([disabled]),
button:not([disabled]),
textarea:not([disabled]),
input:not([disabled]),
select:not([disabled])`
) as Array<HTMLElement>;
this.firstFocusableElement = focusableElements[0];
this.lastFocusableElement = focusableElements[focusableElements.length - 1];
this.firstFocusableElement.focus();
}
}