首页 > 解决方案 > 检查后如何更新滚动条

问题描述

我的问题是:我怎样才能在检查后更新 [scrolltop] 而不会出现错误?

错误:ExpressionChangedAfterItHasBeenCheckedError:表达式在检查后已更改。“scrollTop”的先前值:“260”。当前值:'300'。

我有一个变量,我将数据推入其中,因此变量字符串变得越来越长,因此 div 变得更大,我希望始终位于 divbox 的底部

组件.html:

<div #logbox [scrollTop]="content.length === 0 ? 0 : logbox.scrollHeight" class="logbox">
{{content}}
<div *ngIf="!content" style="width: 100%; text-align: center; margin: 50px">No logs available</div>
</div>

组件.css:

.logbox{
    font-family: monospace; 
    overflow: hidden auto; 
    overflow-wrap:break-word; 
    white-space:pre-wrap; 
    height: 100%;
}

组件.ts

export class LogboxComponent implements OnInit {
  constructor() { }
  @Input() content:string;
  ngOnInit(): void {
  }
} 

标签: htmlcssangularscrolltopngoninit

解决方案


推荐阅读