Ionic ElementRef访问本机元素

时间:2018-08-30 15:05:31

标签: angular ionic-framework ionic3

我写了一条指令,可以在用户键入时自动更改离子文本区域的高度。但是,更改离子文本区域的高度本身不起作用。我的指令中更改高度的代码:

 adjust(): void {
      console.log(this.element.nativeElement);
        let nativeElement = this.element.nativeElement;
        nativeElement.style.overflow = 'hidden';
        nativeElement.style.height = 'auto';
        nativeElement.style.height = nativeElement.scrollHeight + "px";
    }

我怀疑高度没有变化,因为this.element.nativeElement是ion-textarea(而不是textarea)。如何访问本地文本区域以更改其高度?

这是显示该问题的 STACKBLITZ 。该指令是自动调整大小指令,带有ion-textarea的页面是主页。

1 个答案:

答案 0 :(得分:0)

因此可以在指令的宿主侦听器中访问本地文本区域:

@HostListener('input', ['$event.target'])
onInput(textArea: HTMLTextAreaElement): void {
    this.adjust(textArea);
}

之后,可以在adjust()函数中操纵文本区域。