Newer Version Available
setTabIcon() for Lightning Experience
Sets the icon and alternative text of the specified tab. This method works only in
Lightning console apps.
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. |
Sample Code
This component has a button that, when pressed, sets the icon of the focused tab to the SLDS “like” icon.
Component code:
1<aura:component implements="flexipage:availableForAllPageTypes" access="global" >
2 <lightning:workspaceAPI 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().then(function(response) {
5 var focusedTabId = response.tabId;
6 console.log("Set focused tab icon.");
7 console.log(focusedTabId);
8 workspaceAPI.setTabIcon({
9 tabId: focusedTabId,
10 icon: "like",
11 iconAlt: "like"
12 });
13 })
14 .catch(function(error) {
15 console.log(error);
16 });
17 }
18})Response
This method returns a promise that, upon success, resolves to 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}