如何为 Material2 Angular2 对话框实现自动滚动到顶部?

5
我正在使用 https://material.angular.io,具体来说是Dialog box (https://material.angular.io/components/dialog/overview)。我的问题是当我使用定位功能时,会出现以下情况:
config = {'width':'200px', 'height':'400px', position: {'top':'150px', 'left':'400px'}}

我注意到当我点击一个按钮显示对话框时,它会滚动到底部...有没有办法让它在我点击按钮显示对话框时保持在顶部/滚动到顶部?

1个回答

1
在style.css文件中添加以下代码。
.md-dialog-container { height: 100vh !important; top: 0 !important; position: fixed !important; }

另一种方法:

您可以使用MdDialogRef的updatePosition()方法调整对话框组件的位置。在您的对话框组件中使用以下代码:

import { MdDialog, MdDialogConfig, MdDialogRef } from '@angular/material';

constructor(public dialModalRef: MdDialogRef<any>) { }

changePosition() {
  this.dialModalRef.updatePosition({ top: '50px', left: '50px' });
}

在这里阅读更多相关信息:https://material.angular.io/components/component/dialog

希望一切都能正常工作。


那么你的解决方案就是在一个地方创建div(默认情况下),但在创建后进行移动?这会对用户产生可见的移动效果吗? - Rolando
1
@Harleen Kaur Arona,我尝试了你的解决方案,但它移动了整个对话框,这不是我想要的。我想要的只是将matDialog滚动到顶部。 - walexy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接