如何在 angular 中默认选择 mat-list 中的第一项

Md *_*yat 0 typescript angular-material angular

我想知道如何在 angular 中默认选择 mat-list 的第一项。我尝试过但无法解决它。我的 mat-list 代码在这里

export class StationsListComponent implements OnInit {

  @Input() stations: Stations[];
  selectedStation: Stations;

  constructor() { }

  ngOnInit(): void {
    this.selectedStation = this.stations[0];
  }
}
Run Code Online (Sandbox Code Playgroud)
<mat-list role="list">
  <div *ngFor="let book of Books">
    <mat-list-item id="{{book.bookId}}" role="listitem" class="list-item" routerLink="/home/{{book.bookId}}" [routerLinkActive]="['is-active']">
      <div class="station-div">
          <div class="station-name">{{book.bookName}}</div>
          <div class="station-location">{{book.authorName}}</div>
      </div>
    </mat-list-item>
  </div>
</mat-list>
Run Code Online (Sandbox Code Playgroud)

Ger*_*n99 8

您可以使用“mat-selection-list”并通过编辑 [selected] 值来指定默认情况下要选择的条目:

<mat-selection-list #itemList>
    <mat-list-option *ngFor="let item of items, let i = index" [selected]="item && i == 0">
      #{{i+1}} {{ item.name }}
    </mat-list-option>
</mat-selection-list>
Run Code Online (Sandbox Code Playgroud)

在这种情况下,默认情况下将选择第一项,因为 [selected]="item && i == 0"。如果将“i == 0”更改为“i == 1”,则选择第二项,依此类推。

  • 同时,对于经验丰富的开发人员来说,接受的答案已经足够好了,我更喜欢这个答案。只是因为有一个工作代码示例展示了它是如何工作的。谢谢你 Gereon99。现在,请投我的一票。 (2认同)