【发布时间】:2019-06-16 01:53:28
【问题描述】:
我有一个包含多个元素的 Angular 材质列表,可以选择其中一个。
当我加载此列表时,我想将列表向上滚动到该选定元素,以使其更加可见。有什么办法吗?
我正在考虑类似在 ngOnInit 中检查项目是否被选中,但我真的不知道如何将此列表滚动到该项目。
注意:不应该滚动整个页面,只滚动列表中的元素。
component.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>
组件.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);
}
【问题讨论】:
-
您能否发布您当前的代码,以便我们了解您正在使用什么?
-
已简化发布,希望过程中不要出错。
标签: angular scroll angular-material material-design