ионный 3-текстовый авторазмер (не ион-текстовый) - PullRequest
0 голосов
/ 04 февраля 2019

Мне нужен автоматический размер (эластичный) для

Я следовал: Как автоматически изменять размер поля ионного ввода по вертикали, когда я печатаю & https://stackblitz.com/edit/expandable-input

работает:

@Directive({ selector: 'ion-textarea[autosize]' })

Но, не для

@Directive({ selector: 'textarea[autosize]' })

Вот мой Stackblitz (автоматический размер не работает): https://stackblitz.com/edit/expandable-input-htjncw

Ошибка консоли:«ОШИБКА TypeError: Невозможно прочитать свойство 'style' of undefined ..."

Код:

adjust():void {
    const textArea = this.element.nativeElement.getElementsByTagName('textarea')[0];
    textArea.style.overflow = 'hidden';
    textArea.style.height = 'auto';
    textArea.style.height = textArea.scrollHeight + 'px';
  }

1 Ответ

0 голосов
/ 04 февраля 2019

Если вы добавляете директиву к textarea вместо ion-textarea, вы можете получить доступ к html-элементу непосредственно из nativeElement.Вы не получите доступ через getElementsByTagName

adjust():void {
    const textArea = this.element.nativeElement;
    textArea.style.overflow = 'hidden';
    textArea.style.height = 'auto';
    textArea.style.height = textArea.scrollHeight + 'px';
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...