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

Lightning Experience の refreshTab()

tabId で指定されたワークスペースタブまたはサブタブを更新します。最初のサブタブの tabId は、ワークスペースタブと同じになります。このメソッドは、Lightning コンソールアプリケーションでのみ機能します。
保存されていない変更があるワークスペースタブでこのメソッドが呼び出されると、確認ウィンドウが開きます。
  • 編集を継続: 変更が保持され、タブまたはワークスペースは更新されません。
  • 変更を破棄: 変更が破棄され、タブまたはワークスペースが更新されます。
  • 保存: 変更が保存され、タブまたはワークスペースが更新されます。

引数

Aura コンポーネントと Lightning Web コンポーネント (LWC) のいずれの場合でも、このメソッドの引数は同じです。

名前 説明
tabId string 更新するワークスペースタブまたはサブタブの ID。
includeAllSubtabs boolean 省略可能。tabId がワークスペースタブに対応する場合、そのワークスペース内のすべてのサブタブが更新されます。デフォルトは true です。最初のサブタブの tabId は、ワークスペースタブと同じになります。

LWC のサンプルコード

このコンポーネントは、自身が Lightning コンソールアプリケーション内にあるかどうかを確認してから、フォーカスされたタブに関する情報を返して、そのタブを更新します。

1import { LightningElement, wire } from 'lwc';
2import { IsConsoleNavigation, getFocusedTabInfo, refreshTab } from 'lightning/platformWorkspaceApi';
3
4export class RefreshTabExample extends LightningElement {
5    @wire(IsConsoleNavigation) isConsoleNavigation;
6
7    handleClick() {
8        if (this.isConsoleNavigation) {
9            getFocusedTabInfo().then((tabInfo) => {
10                refreshTab(tabInfo.tabId);
11            }).catch((error) => {
12                console.log(error);
13            });
14        }
15    }
16}

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

このコンポーネントにはボタンがあり、押すと、フォーカスされているワークスペースタブと開いているそのすべてのサブタブが更新されます。

コンポーネントコード:

1<aura:component implements="flexipage:availableForAllPageTypes" access="global">
2    <lightning:workspaceAPI aura:id="workspace"/>
3    <lightning:button label="Refresh Focused Tab" onclick="{!c.refreshFocusedTab}"/>
4</aura:component>

コントローラーコード:

1({
2    refreshFocusedTab : function(component, event, helper) {
3        var workspaceAPI = component.find("workspace");
4        workspaceAPI.getFocusedTabInfo().then(function(response) {
5            var focusedTabId = response.tabId;
6            workspaceAPI.refreshTab({
7                      tabId: focusedTabId,
8                      includeAllSubtabs: true
9             });
10        })
11        .catch(function(error) {
12            console.log(error);
13        });
14    }
15})

応答

このメソッドは、成功時に true に解決される Promise を返します。エラーが発生した場合、Promise は却下されます。

true でも、更新が成功したとは限りません。たとえば、このメソッドがコールされたときにタブに保存されていない変更がある場合、ユーザーは変更を保存するか、破棄するかを選択できます。ユーザーの選択によっては、更新がキャンセルされます。

メモ