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

Lightning Experience の openSubtab()

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

引数

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

名前 説明
parentTabId string 新しいサブタブを開くワークスペースタブの ID。親タブの ID は openSubtab() メソッドに渡す必要があります。
pageReference object 省略可能。開く pageReference を指定します。
recordId ID 省略可能。開くレコードを指定します。
url string

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

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

focus boolean 省略可能。新しいサブタブにフォーカスするかどうかを指定します。すぐにサブタブを表示するには、focustrue に設定します。バックグラウンドでサブタブを開くには、focusfalse に設定します。
icon string 省略可能。SLDS アイコンキー。SLDS リファレンスサイトでアイコンキーの完全なリストを確認してください。LWC でのみ使用できます。
iconAlt string 省略可能。アイコンの代替テキスト。LWC でのみ使用できます。
label string 省略可能。アイコンのテキスト表示ラベル。LWC でのみ使用できます。

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

メモ

LWC のサンプルコード

このコンポーネントは、EnclosingTabId ワイヤーアダプターを使用して、囲んでいるタブ ID を取得します。handleClick() 関数がコールされると、現在のタブ上のサブタブを開きます。コンポーネントがタブ内にもサブタブ内にも存在しない場合、tabId は null になります。

現在のタブがサブタブかどうかを確認するには、getTabInfo() を使用します。現在のタブがサブタブの場合、親タブ ID を openSubtab() 関数に渡します。

1import { LightningElement, wire } from 'lwc';
2import { EnclosingTabId, getTabInfo, openSubtab } from 'lightning/platformWorkspaceApi';
3
4export default class OpenSubtabExample extends LightningElement {
5  @wire(EnclosingTabId) tabId;
6
7  async handleClick() {
8    if (!this.tabId) {
9      return;
10    }
11
12    const tabInfo = await getTabInfo(this.tabId);
13    const primaryTabId = tabInfo.isSubtab ? tabInfo.parentTabId : tabInfo.tabId;
14
15    // Open a record as a subtab of the current tab
16    await openSubtab(primaryTabId, { recordId: 'YourRecordId', focus: true });
17  }
18}

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

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

コンポーネントコード:

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>

コントローラーコード:

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})

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

メモ

応答

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