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 は却下されます。