如何以编程方式滚动MatDialogContent?

时间:2019-06-12 04:16:45

标签: angular angular-material angular-material-7

我有一个MatDialog(带有MatDialogContent),它比屏幕大,因此出现竖线。在提交失败并重新验证所有表单字段之后,我想有条件地滚动到该对话框的底部,以向用户显示MatError。如何实现?

1 个答案:

答案 0 :(得分:1)

我以编程方式在div上实现滚动,但不确定在MatDialogContent上滚动,但是您可以尝试一下。

<div #scrollMe style="overflow: scroll; height: xyz;">
    // ...Scroling content
</div>

然后在component.ts中

import {..., ElementRef, ViewChild, OnInit} from 'angular2/core'
@Component({
    ...
})
export class ChannelComponent implements OnInit{

    @ViewChild('scrollMe') private myScrollContainer: ElementRef;

    scrollToBottom(): void {
        try {
            this.myScrollContainer.nativeElement.scrollTop = this.myScrollContainer.nativeElement.scrollHeight;
        } catch(err) {

        }                 
    }

    onError() {
        // Call scroll to bottom when you want to show error at bottom.
        this.scrollToBottom();
    }
}