在角材料的垂直标签列表中添加标签按钮

时间:2019-11-26 05:12:37

标签: css angular tabs angular-material material-design

我已经使用棱角材质创建了垂直标签,并且想要添加Add Tab按钮,我可以添加该按钮,但是它添加在底部。我想将该按钮添加到垂直标签列表中。

这里是stackblitz链接,单击按钮即可添加标签。 Add Tab按钮应位于垂直标签中。

html:

<mat-tab-group [selectedIndex]="selected.value" (selectedIndexChange)="selected.setValue($event)">
  <mat-tab *ngFor="let tab of tabs; let index = index" [label]="tab">
    Contents for {{tab}} tab
  </mat-tab>
</mat-tab-group>
<button mat-raised-button class="example-add-tab-button add-tab-btn" (click)="addTab()">  Add Tab </button>

TS:

import {Component} from '@angular/core';
import { FormControl} from '@angular/forms';

/**
 * @title Basic use of the tab group
 */
@Component({
  selector: 'tab-group-basic-example',
  templateUrl: 'tab-group-basic-example.html',
  styleUrls: ['tab-group-basic-example.css'],
})
export class TabGroupBasicExample {
  tabs = ['First', 'Second'];
  selected = new FormControl(0);
  selectAfterAdding: boolean;
  addTab() {
    this.selectAfterAdding = true;
    this.tabs.push('New');
    if(this.selectAfterAdding) {
      this.selected.setValue(this.tabs.length - 1);
    }
  }
}

如何添加Add Tab按钮的垂直标签?

2 个答案:

答案 0 :(得分:1)

<mat-tab-group [selectedIndex]="selected.value" (selectedIndexChange)="selected.setValue($event)">

<mat-tab disabled>
                <ng-template mat-tab-label>
                    <button mat-icon-button (click)="addTab()">
                        <mat-icon>add_circle</mat-icon>
                    </button>
                </ng-template>
          </mat-tab>

  <mat-tab *ngFor="let tab of tabs; let index = index" [label]="tab">
    Contents for {{tab}} tab
  </mat-tab>
</mat-tab-group> 

在ng-for之前或之后使用

答案 1 :(得分:0)

您的弯曲方向是“列”。您需要将此“列”更改为“行”;

 .mat-tab-labels{ 
     flex-direction:row !important;
 }