В текущей версии API нет предопределенной опции отмены выбора всех вкладок, поскольку подразумевается, что хотя бы одна вкладка должна быть активной.Но есть небольшой обходной путь (и это кажется довольно хорошим ИМХО): мы можем добавить еще одну вспомогательную вкладку с индексом 0
, оставить ее пустой (без содержимого) и скрыть ее с помощью display: none
.Таким образом, у вас есть дополнительная невидимая вкладка, и у вас все еще есть возможность перейти на эту вкладку, которая выглядит довольно близко к отмене выбора всех вкладок.
Вы можете достичь этого с помощью всего нескольких строк HTML / CSS.
HTML:
<button (click)="tabs.selectedIndex = 0">RESET</button>
<mat-tab-group #tabs>
<mat-tab></mat-tab> <!-- ADDITIONAL TAB -->
<mat-tab label="First">
<p>Content 1</p>
</mat-tab>
<mat-tab label="Second">
<p>Content 2</p>
</mat-tab>
<mat-tab label="Third">
<p>Content 3</p>
</mat-tab>
</mat-tab-group>
CSS:
::ng-deep .mat-tab-labels > .mat-tab-label:first-child {
display: none;
}
А вот рабочий STACKBLITZ , вы можете увидеть его в действии.