Newer Version Available
openSubtab() for Lightning Experience
Opens a subtab within a workspace tab. If the subtab is already open, the subtab is
focused. This method works only in
Lightning console apps.
Arguments
| Name | Type | Description |
|---|---|---|
| parentTabId | string | The ID of the workspace tab within which the new subtab opens. |
| pageReference | object | Specifies the pageReference to open. pageReference is optional. |
| recordId | ID | Specifies the record to open. recordId is optional. |
| url | string |
The URL representing the content of the new workspace tab. url is optional. The URL can be either relative or absolute. To use a third-party domain, add the site as a CSP Trusted Site. |
| focus | boolean | Specifies whether the new subtab has focus. To display the subtab immediately, set focus to true. To open the subtab in the background, set focus to false. |
Sample Code
This component has a button that, when pressed, opens a subtab within a workspace tab.
Component code:
1<aura:component implements="flexipage:availableForAllPageTypes" access="global" >
2 <lightning:workspaceAPI aura:id="workspace" />
3 <lightning:button label="Open Tab with Subtab" onclick="{! c.openTabWithSubtab }" />
4 </aura:component>Controller code:
1({
2 openTabWithSubtab : function(component, event, helper) {
3 var workspaceAPI = component.find("workspace");
4 workspaceAPI.openTab({
5 url: '/lightning/r/Account/001xx000003DI05AAG/view',
6 focus: true
7 }).then(function(response) {
8 workspaceAPI.openSubtab({
9 parentTabId: response,
10 url: '/lightning/r/Contact/003xx000004Ts30AAC/view',
11 focus: true
12 });
13 })
14 .catch(function(error) {
15 console.log(error);
16 });
17 }
18})Response
This method returns a promise that, upon success, resolves to the
ID of the new subtab.