不确定这是您想要的确切答案,但请尝试一下。
您可以获取每个 mat step header 的索引并根据它应用逻辑。
组件.html
<mat-horizontal-stepper linear="true" #stepper (selectionChange)="setIndex($event)" (click)="triggerClick()">
组件.ts
setIndex(event) {
this.selectedIndex = event.selectedIndex;
}
triggerClick() {
console.log(`Selected tab index: ${this.selectedIndex}`);
}
或者
您可以通过单击标签来阻止用户,这样用户就无法通过标题进入步骤
在组件.ts
import { ViewEncapsulation } from '@angular/core';
@Component({
.......
encapsulation: ViewEncapsulation.None, //add this line
})
在 CSS 中
.mat-horizontal-stepper-header {
pointer-events: none !important;
}
这是两种想法的示例
堆栈闪电战