この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

Lightning Experience の openTab()

新しいワークスペースタブを開きます。タブがすでに開いている場合、タブがフォーカスされます。

引数

Aura コンポーネントと Lightning Web コンポーネント (LWC) のいずれの場合でも、このメソッドの引数は同じです。ただし、iconiconAlt、および label は、LWC でのみサポートされています。

名前 説明
pageReference object 省略可能。開く一意の URL を生成します。ページ参照には、その型のすべてのページに適用される属性が含まれています。「Aura pageReference の型」および「LWC pageReference の型」を参照してください。
recordId ID 省略可能。開くレコードを指定します。
url URL

省略可能。新しいワークスペースタブのコンテンツを表す URL。

URL は、相対 URL または絶対 URL になります。サードパーティドメインを使用するには、サイトを CSP 信頼済みサイトとして追加します。

focus boolean 省略可能。新しいタブにフォーカスするかどうかを指定します。すぐにタブを表示するには、focustrue に設定します。バックグラウンドでタブを開くには、focusfalse に設定します。
overrideNavRules boolean 省略可能。開いているタブに既存のナビゲーションルールが適用されるかどうかを指定します。この引数は、ナビゲーションルールが設定されていないレコードや、レコードを指し示していない URL には影響しません。
icon string 省略可能。SLDS アイコンキー。SLDS リファレンスサイトでアイコンキーの完全なリストを確認してください。LWC でのみ使用できます。
iconAlt string 省略可能。アイコンの代替テキスト。LWC でのみ使用できます。
label string 省略可能。アイコンのテキスト表示ラベル。LWC でのみ使用できます。

pageReferencerecordIdurl は、この順序で優先度が設定されています。優先度の高い引数を指定すると、他の引数は無視されます。

メモ

LWC のサンプルコード

このコンポーネントには、指定されたタブを開き、そのタブにフォーカスを適用する関数があります。

1import { LightningElement } from 'lwc';
2import { openTab, focusTab } from 'lightning/platformWorkspaceApi';
3
4export default class MyComponent extends LightningElement {
5
6   focusNewTab(event) {
7       openTab({
8            url: '/lightning/r/Account/001R0000003HgssIAC/view',
9            label: 'Global Media',
10            focus: true
11       }).catch((error) => {
12            console.log(error);
13       });
14   }
15}

Aura コンポーネントのサンプルコード

このコンポーネントにはボタンがあり、押すと、タブが開きます。

コンポーネントコード:
1<aura:component implements="flexipage:availableForAllPageTypes" access="global">
2        <lightning:workspaceAPI aura:id="workspace"/>
3        <lightning:button label="Open Tab" onclick="{!c.openTab}"/>
4</aura:component>
standard__recordPage 型を使用して、pageReference コントローラーコード (pageReference) を渡します。
1({
2openTab: function(component, event, helper) {
3        var workspaceAPI = component.find("workspace");
4        workspaceAPI.openTab({
5            pageReference: {
6                "type": "standard__recordPage",
7                "attributes": {
8                    "recordId":"500xx000000Ykt2AAC",
9                    "actionName":"view"
10                },
11                "state": {}
12            },
13            focus: true
14        }).then(function(response) {
15            workspaceAPI.getTabInfo({
16                tabId: response
17        }).then(function(tabInfo) {
18            console.log("The recordId for this tab is: " + tabInfo.recordId);
19        });
20        }).catch(function(error) {
21            console.log(error);
22        });
23    }
24)}
コントローラーコード (recordId):
1({
2    openTab : function(component, event, helper) {
3        var workspaceAPI = component.find("workspace");
4        workspaceAPI.openTab({
5            recordId: '001xx000003DIkeAAG',
6            focus: true
7        }).then(function(response) {
8            workspaceAPI.getTabInfo({
9                  tabId: response
10            }).then(function(tabInfo) {
11            console.log("The url for this tab is: " + tabInfo.url);
12            });
13        })
14        .catch(function(error) {
15               console.log(error);
16        });
17    }
18})
コントローラーコード (url):
1({
2    openTab : 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.getTabInfo({
9                tabId: response
10            }).then(function(tabInfo) {
11            console.log("The recordId for this tab is: " + tabInfo.recordId);
12            });
13        }).catch(function(error) {
14                console.log(error);
15        });
16    }
17})

この例で使用される相対 URL はプレースホルダーです。この例を自分で試すには、組織のレコード ID が含まれる相対 URL を使用してください。

メモ

応答

このメソッドは、成功時に新しいタブの tabId に解決される Promise を返します。