如何在 Angular 中动态滚动 <textarea>?

How do I dynamically scroll a <textarea> in Angular?

我正在编写一个聊天应用程序,其中将新消息添加到 <textarea> 的底部。我希望 textarea 滚动到底部,因为聊天记录很大。

我该如何完成?

我尝试了以下方法,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没有到底!

我需要帮助,谢谢!

我想出了一个更简单的方法,它会自动滚动到底部,即使 ngModel 正在实时更改(聊天)。只需将文本区域的 scrollTop property 映射到其当前 scrollHeight:

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