Как динамически прокрутить <textarea>в Angular? - PullRequest
1 голос
/ 11 апреля 2020

Я пишу приложение для чата, в котором новые сообщения добавляются внизу <textarea>. Я хочу, чтобы textarea прокрутил до конца, потому что чат очень большой.

Как мне сделать sh this?

Я пробовал следующее, а атрибут scrollTop не прокручивая мой textarea.

<textarea #chat class="form-control" rows=20 disabled [(ngModel)]="output" [scrollTop]="scroll" name="chatMessages"></textarea>

Однако this.scroll=9999 не изменяет привязку scrollTop к значению 9999. Я консольный журнал this.scroll, и его значение 9999, но мой textarea не go до дна!

Пожалуйста, мне нужна помощь, спасибо!

1 Ответ

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

Я нашел гораздо более простой подход, который автоматически прокручивается вниз, даже когда ngModel изменяется в режиме реального времени (чат). Нужно просто сопоставить scrollTop property текстовой области с ее текущей scrollHeight:

<textarea [(ngModel)]="..." #textarea [scrollTop]="textarea.scrollHeight"></textarea>
...