ion-textarea динамически изменяет высоту в Ioni c 5 - PullRequest
0 голосов
/ 12 апреля 2020

Я переношу свой проект с 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 изменяется только следующее объявление: 1009 *

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

В Ionic4 я получаю следующую ошибку:

ERROR TypeError: Cannot read property 'nativeElement' of undefined

Так что this.hvUserPost['_elementRef'] не определено и this.hvUserPost.nativeElement также не определено.

1 Ответ

1 голос
/ 13 апреля 2020

Просто добавьте autoGrow = "true" и все будет сделано.

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