Angular Material选项卡将图像添加到按钮

时间:2018-09-14 05:50:01

标签: angular tabs angular-material angular6

我是Angular的初学者。我尝试使用Angular材质选项卡进行某些操作。我将选项卡部分添加到图像,但是该部分不起作用。有谁知道如何将图像添加到角度材质选项卡。请查看我所附的图片,以了解我要达到的目标。

Need like this

My code so far (stackblitz demo)

我的代码部分:

<mat-tab-group mat-stretch-tabs class="example-stretched-tabs mat-elevation-z4">
  <mat-tab label="First"  style="background:url('/assets/img/school-01.png')"> Content 1 </mat-tab>
  <mat-tab label="Second"> Content 2 </mat-tab>
  <mat-tab label="Third"> Content 3 </mat-tab>
</mat-tab-group>

css

.example-stretched-tabs {
  max-width: 800px;
}
/* active tab */
.mat-tab-list .mat-tab-labels .mat-tab-label-active {
  color:#0f2241;
  background-color: #535353;
  opacity: 1;
}

/* ink bar */
.mat-tab-group.mat-primary .mat-ink-bar {
  background: none;
  content: url('https://image.flaticon.com/icons/svg/60/60995.svg');
  height: 10px; 
}

.ts

import {Component, ViewEncapsulation} from '@angular/core';

/**
 * @title Tab group with stretched labels
 */
@Component({
  selector: 'tab-group-stretched-example',
  templateUrl: 'tab-group-stretched-example.html',
  styleUrls: ['tab-group-stretched-example.css'],
  encapsulation: ViewEncapsulation.None
})
export class TabGroupStretchedExample {}

2 个答案:

答案 0 :(得分:8)

根据Angular docs

  

要获取更复杂的标签,请在mat-tab中添加带有mat-tab-label指令的模板。

因此,您可以将<img>或所需的任何内容放入模板<ng-template mat-tab-label/>

<mat-tab-group>
    <mat-tab>
        <ng-template mat-tab-label>
            <img src="...">
            <span>foo</span>
        </ng-template>
    </mat-tab>
    <mat-tab>
        ....
    </mat-tab>
</mat-tab-group>

答案 1 :(得分:0)

您可以使用毡状图标在选项卡中添加图像,如下所示:

<mat-tabs>
  <mat-tab>
    <mat-tab-label>
      <mat-icon mat-svg-icon="img/icons/icon.svg"></mat-icon>
    </mat-tab-label>
    <mat-tab-body>
      Lorem
    </mat-tab-body>
  </mat-tab>
</mat-tabs>