1

我正在将我的项目从 Ionc3 迁移到 Ionic5。我有一个 ion-textarea,它会随着用户类型的增加而增加高度,它适用于 Ionic3。以下是代码。

HTML页面:

<ion-textarea #hvUserPost type="text" (input)="adjustDesc()"></ion-textarea>

TS页面:

@ViewChild('hvUserPost') hvUserPost: ElementRef;
adjustDesc() {
    let textArea;
    textArea = this.hvUserPost['_elementRef'].nativeElement.getElementsByClassName("text-input")[0];
    textArea.style.overflow = 'hidden';
    textArea.style.height = 'auto';
    var scrollHeight = textArea.scrollHeight;
    textArea.style.height = scrollHeight + 'px';
}

现在在 Ionic4 中,唯一的变化是在下面的声明中

@ViewChild('hvUserPost', {static: false}) hvUserPost: ElementRef;

在 Ionic4 中,我收到以下错误。

ERROR TypeError: Cannot read property 'nativeElement' of undefined

所以this.hvUserPost['_elementRef']是未定义的,this.hvUserPost.nativeElement也是未定义的。

4

1 回答 1

4

只需添加 autoGrow="true" atteibute 即可。

<ion-textarea #hvUserPost type="text"autoGrow="true" (input)="adjustDesc()"></ion-textarea>
于 2020-04-13T10:00:11.143 回答