Newer Version Available
setTabIcon() for Lightning Experience
Sets the icon and alternative text of the specified tab.
Arguments
| Name | Type | Description |
|---|---|---|
| tabId | string | The ID of the tab for which to set the icon. |
| icon | string | An SLDS icon key. See a full list of icon keys on the SLDS reference site. |
| iconAlt | string | Optional. Alternative text for the icon. |
| callback | function | JavaScript method called upon completion of the method. Returns a tabInfo object containing information about the modified tab. |
Sample Code
This component has a button that, when pressed, opens a tab and sets the tab’s icon to the SLDS emoji icon.
Component code:
1<aura:component implements="flexipage:availableForAllPageTypes" access="global" >
2 <force:workspaceAPIAccess aura:id="workspace" />
3 <lightning:button label="Set Focused Tab Icon" onclick="{! c.setFocusedTabIcon }" />
4</aura:component>Controller code:
1({
2 setFocusedTabIcon : function(component, event, helper) {
3 var workspaceAPI = component.find("workspace");
4 workspaceAPI.getFocusedTabInfo({
5 callback : function(error, response){
6 var focusedTabId = response.tabId;
7 console.log("Set focused tab icon.");
8 console.log(focusedTabId);
9 workspaceAPI.setTabIcon({
10 tabId : focusedTabId,
11 icon : "like",
12 iconAlt : "like"
13 });
14 }
15 });
16 }
17})Response
This method is asynchronous, and returns a tabInfo object representing the modified tab. A tabInfo object is a JSON array of information about a workspace tab, with nested
arrays of information on each subtab. This is the structure of a tabInfo
object.
1{ tabId: string,
2 active: boolean
3 pinned: boolean,
4 closeable: boolean,
5 title: string,
6 icon: string (SLDS iconKey),
7 iconAlt: string,
8 recordId: string,
9 url: string (URL),
10 subtabs: [
11 {
12 tabId: string,
13 active": boolean,
14 pinned": boolean,
15 closeable": boolean,
16 title: string,
17 icon: string (SLDS iconKey),
18 iconAlt: string,
19 recordId: string,
20 url: string (URL),
21 isSubtab: boolean,
22 parentTabId: string,
23 customTitle: string,
24 customIcon: string (URL),
25 customIconAlt: string
26 },
27 { ... }
28 ],
29 isSubtab: boolean,
30 parentTabId: string,
31 customTitle: string,
32 customIcon: string (URL),
33 customIconAlt: string
34}