如何获取 Mat Autocomplete 的 Panel ElementRef
How do I get the Panel ElementRef of Mat Autocomplete
根据 MatAutocomplete documentation,MatAutocomplete class 上有一个 panel
属性 可以为您提供面板的 elementRef。
panel: ElementRef
Element for the panel containing the autocomplete options.
虽然 autocomplete.panel 总是未定义,但我正在努力让它工作?我错过了什么?
<mat-autocomplete #auto="matAutocomplete">
@ViewChild("auto") autocomplete: MatAutocomplete;
ngAfterViewInit(): void {
console.log(this.autocomplete.panel); // undefined??
}
我意识到该元素只有在面板打开且该元素位于 DOM 中时才可用。如果您考虑一下,这是有道理的...
查看我的 updated stackblitz 了解我的意思。请注意,该元素尚未添加到 (opened)
事件的视图中。这意味着您必须添加 setTimeout 或以某种方式等待元素添加到 dom 才能访问它。
根据 MatAutocomplete documentation,MatAutocomplete class 上有一个 panel
属性 可以为您提供面板的 elementRef。
panel: ElementRef
Element for the panel containing the autocomplete options.
虽然 autocomplete.panel 总是未定义,但我正在努力让它工作?我错过了什么?
<mat-autocomplete #auto="matAutocomplete">
@ViewChild("auto") autocomplete: MatAutocomplete;
ngAfterViewInit(): void {
console.log(this.autocomplete.panel); // undefined??
}
我意识到该元素只有在面板打开且该元素位于 DOM 中时才可用。如果您考虑一下,这是有道理的...
查看我的 updated stackblitz 了解我的意思。请注意,该元素尚未添加到 (opened)
事件的视图中。这意味着您必须添加 setTimeout 或以某种方式等待元素添加到 dom 才能访问它。