Angular实现文本框自动滚动显示最后一条

在文本框作为聊天框或者输出日志时,需求为在div中自动显示最后一条:

html代码:

<div class="logger" #scroll>
  <div *ngIf="messageService.messages.length">
    <h6>Log:</h6>
    <div *ngFor='let message of messageService.messages'>{{message}}</div>
  </div>
</div>

component组件typescript代码:

import { Component, OnInit } from '@angular/core';
import { MessageService } from 'app/core/services/message.service';
import { AfterViewChecked, ViewChild} from '@angular/core';

@Component({
  selector: 'ow-logger',
  templateUrl: './logger.component.html',
  styleUrls: ['./logger.component.scss']
})
export class LoggerComponent implements OnInit, AfterViewChecked {

  @ViewChild('scroll') myScrollContainer;

  constructor(private messageService: MessageService) {
  }

  scrollToBottom() {
    this.myScrollContainer.nativeElement.scrollTop = this.myScrollContainer.nativeElement.scrollHeight;
  }

  ngAfterViewChecked() {
    this.scrollToBottom();
  }

  ngOnInit() {
  }
}

参考博客:https://segmentfault.com/a/1190000010434571

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值