小编Old*_*han的帖子

Material Angular 滚动到 mat-list 上的元素

我有一个包含多个元素的 Angular Material 列表,其中可以选择其中之一。

当我加载此列表时,我想将列表向上滚动到所选元素,以使其更加可见。有什么选择吗?

我正在考虑在 ngOnInit 中检查是否选择了项目,但我真的不知道如何将此列表滚动到该项目。

注意:不应滚动整个页面,只应滚动列表中的元素。

组件.html

    <mat-nav-list>
        <mat-list-item *ngFor="let item of items" (click)="itemClick(item)"
            [ngClass]="item.selectedClass">
            {{item.someValue}}
        </mat-list-item>
    </mat-nav-list>
Run Code Online (Sandbox Code Playgroud)

组件.ts

    private itemClick(item: Item): Observable<any> {
        if (item) {
            this.something = item;
            this.items.forEach(item => {
                if (item && item.name === item.name) {
                    item["selectedClass"] = "item-selected";
                } else {
                    item["selectedClass"] = undefined;
                }
            });
        } else {
            this.something = null;
            this.items.forEach(item => {
                    item["selectedClass"] = undefined;
            });
        }

        return of(null);
    }
Run Code Online (Sandbox Code Playgroud)

scroll material-design angular-material angular

6
推荐指数
2
解决办法
7257
查看次数