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

Lightning Experience の openTab()

新しいワークスペースタブを開きます。タブがすでに開いている場合、タブがフォーカスされます。このメソッドは、Lightning コンソールアプリケーションでのみ機能します。

引数

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

名前 型 説明
pageReference object 省略可能。開く pageReference を指定します。
recordId ID 省略可能。開くレコードを指定します。
url URL

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

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

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

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

メモ

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>
コントローラコード (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 を返します。