角度如何重置div scrollTop

时间:2018-12-21 19:35:56

标签: angular reset scrolltop

在我的角度应用程序中,我有一个DIV,我要根据DIV中显示的内容为其设置属性[scrollTop]。 我内部有一个角度数据表,当没有值时,其默认高度为36。 我想通过单击将值重置为零的按钮重置为默认高度。

我收到一个错误:ExpressionChangedAfterItHasBeenCheckedError:检查表达式后,表达式已更改。上一个值:“ 224”。当前值:“ 46”。

<div #scrollMe [scrollTop]="scrollMe.scrollHeight"> 
  <data-table [selectColumn]="true" [items]="LST">
                                            </DATA-TABLE>
</DIV

1 个答案:

答案 0 :(得分:0)

使用ChangeDetectorRef。它是一个变更收集树,收集所有要检查变更的视图。更改视图后,您需要重新渲染视图。这为您解决了问题。

  

将视图标记为脏视图,这意味着它们已更改并且需要   重新呈现。

ChangeDetectorRef

将其导入您的组件中

import { ChangeDetectorRef, AfterContentChecked} from '@angular/core';

在您的构造函数中将其初始化:

constructor(
  private cdref: ChangeDetectorRef) { }

并在方法末尾检查更改(用按钮绑定方法):

this.cdref.detectChanges();