是否要将垫子图标传递给mat-tab-nav-bar?

时间:2019-11-05 19:17:39

标签: html angular typescript

这就是我要的:

What I'm going for


关联代码:

<mat-tab-group color="warn" [selectedIndex]="0" (selectedTabChange)="routerControl($event)">
            <mat-tab label="About"></mat-tab>
            <mat-tab label="Projects"></mat-tab>
            <mat-tab label="News & Press"></mat-tab>
            <mat-tab label="Contact Us"></mat-tab>
            <mat-tab> 
                <ng-template mat-tab-label>
                    <mat-icon>search</mat-icon>
                </ng-template>

            </mat-tab>
        </mat-tab-group>

我现在在这里:

Current iteration


关联代码:

<nav mat-tab-nav-bar>
        <a mat-tab-link
                *ngFor="let link of navLinks"
                [routerLink]="link.path"
                routerLinkActive #rla="routerLinkActive"
                [routerLinkActiveOptions]="{exact:true}"
                [active]="rla.isActive">
            {{link.label}}
        </a>
    </nav>

打字稿代码:

this.navLinks = [{
                      path: '',
                      label: 'About'
                    },
                    {
                      path: 'projects',
                      label: 'Projects'
                    },
                    {
                      path: 'news',
                      label: 'News'
                    },
                    {
                      path: 'contact',
                      label: 'Contact Us'
                    },
                    {
                      path: 'search',
                      label: ''
                    }
                    ]



问题:
如何在mat-tab-link版本中获取搜索mat-icon?

2 个答案:

答案 0 :(得分:1)

在NavLink界面中,添加一个可选字段作为matIcon

Sub Tester()
'FIRST PART - BUILD HIGH LEVEL METRICS
    Application.DisplayAlerts = False
    Dim tSheet, sARR As Worksheet
    Dim dateSel, rFinderTemp As Variant
    Dim pTable As PivotTable
    Dim pRange, rFinder As Range
    Dim lastRow, lastCol, i, j, rnum As Long
    Dim pAddy As String

    dateSel = "11/17/2019"

    Application.DisplayAlerts = False
    Sheets.Add before:=ActiveSheet
    ActiveSheet.Name = "TempTable"
    Set tSheet = Worksheets("TempTable")
    Set sARR = Worksheets("All_Risk_Report")

    lastRow = sARR.Cells(Rows.Count, 1).End(xlUp).Row
    lastCol = sARR.Cells(1, Columns.Count).End(xlToLeft).Column

    Set pRange = sARR.Cells(1, 1).Resize(lastRow, lastCol)
    pAddy = sARR.Name & "!" & pRange.address

    Set pTable = ActiveWorkbook.PivotCaches.Create( _
            SourceType:=xlDatabase, _
            SourceData:=pAddy).CreatePivotTable( _
                TableDestination:=tSheet.Cells(2, 2))

    With pTable
        .PivotFields("GROUPDATE").Orientation = xlPageField
        .PivotFields("GROUPDATE").CurrentPage = dateSel
        .PivotFields("CRL").Orientation = xlColumnField
        .PivotFields("Org_Category").Orientation = xlRowField
        .PivotFields("Change_Request").Orientation = xlDataField
    End With

    With pTable.PivotFields("Sum of Change_Request")
        .Function = xlCount
    End With

    Sheets("TempTable").Activate

    Set rFinder = Sheets("TempTable").Cells.Find( _
        What:="Enterprise", _
        LookIn:=xlValues, _
        LookAt:=xlWhole)

    If Not rFinder Is Nothing Then
        Sheets("TempTable").Range("C" & rFinder.Row & ":H" & rFinder.Row).Select
        Selection.Copy
        Sheets("Calendar").Activate
        ActiveSheet.Range("K4:P4").Select
        Selection.PasteSpecial Paste:=xlPasteValues
        rFinderTemp = rFinder.Row
    End If

    Sheets("TempTable").Activate


    Set rFinder = Sheets("TempTable").Cells.Find( _
        What:="Home Office", _
        LookIn:=xlValues, _
        LookAt:=xlWhole)

    If Not rFinder Is Nothing Then
        Sheets("TempTable").Range("C" & rFinder & ":H" & rFinder).Select
        Selection.Copy
        Sheets("Calendar").Activate
        ActiveSheet.Range("K5:P5").Select
        Selection.PasteSpecial Paste:=xlPasteValues
        rFinderTemp = rFinder.Row
    End If

    Sheets("TempTable").Activate

    Set rFinder = Sheets("TempTable").Cells.Find( _
        What:="WIMT", _
        LookIn:=xlValues, _
        LookAt:=xlWhole)

    If Not rFinder Is Nothing Then
        Sheets("TempTable").Range("C" & rFinder.Row & ":H" & rFinder.Row).Select
        Selection.Copy
        Sheets("Calendar").Activate
        ActiveSheet.Range("K6:P6").Select
        Selection.PasteSpecial Paste:=xlPasteValues
        rFinderTemp = rFinder.Row
    End If

    Sheets("TempTable").Activate
    ActiveSheet.Cells(1, 1).Select

    If Not rFinder Is Nothing Then
        rnum = rFinder.Row + 1
        Else
        rnum = rFinderTemp + 1
    End If

        Sheets("TempTable").Range("C" & rnum & ":H" & rnum).Select
        Selection.Copy
        Sheets("Calendar").Activate
        ActiveSheet.Range("K7:P7").Select
        Selection.PasteSpecial Paste:=xlPasteValues

    With Sheets("Calendar")
        For i = 4 To 7
            For j = 11 To 16
                Cells(i, j).Select

                If Selection.Value = "" Then
                    Selection.Value = 0
                End If
            Next
        Next
    End With

    Sheets("TempTable").Activate
    ActiveSheet.Delete
    Sheets("Calendar").Activate

End Sub

如果这没有帮助,请提供Slackbitz。

答案 1 :(得分:1)

您可以简单地添加图标(如果存在)

<nav mat-tab-nav-bar>
        <a mat-tab-link
                *ngFor="let link of navLinks"
                [routerLink]="link.path"
                routerLinkActive #rla="routerLinkActive"
                [routerLinkActiveOptions]="{exact:true}"
                [active]="rla.isActive">
            {{link.label}}
            <mat-icon *ngIf="link.icon">{{link.icon}}</mat-icon>
        </a>
    </nav>

enter image description here