如何在routeParams更改后更改mat-tab?

问题描述 投票:0回答:1

mat-tab-group改变时,我正在尝试重置routeParams以将第一个选项卡设置为活动状态。

ts文件:

public index = 0;

ngOnInit() {
  this.subscription = this.route.params.subscribe((routeParams: Params) => {
    // some code

    this.index = 0;
  });
}

html文件

<mat-tab-group [selectedIndex]="index">
  <mat-tab></mat-tab>
  <mat-tab>
    <a [routerLink]="['/url/2']"></a>
  </mat-tab>

在第二个选项卡中,我有一个到另一个卡的路由器链接 - 所以,当路由器导航到此卡组件时不会重新加载(路由是/url/:id)。但是第一个选项卡不会变为活动状态 - 即使我在路由参数上设置了索引。

angular angular-material angular-routing mat-tab
1个回答
0
投票

我做的。原因是对selectedIndex进行双向绑定。

https://github.com/angular/material2/issues/10282

我设置<mat-tab-group [(selectedIndex)]="index">而不是<mat-tab-group [selectedIndex]="index">,它的工作原理。

因此,当我通过routerLink从一张卡的第二个标签转到另一张卡时,新卡的第一个标签变为活动状态。

© www.soinside.com 2019 - 2024. All rights reserved.