Lightning Experience の setTabIcon()
指定されたタブのアイコンと代替テキストを設定します。このメソッドは、Lightning コンソールアプリケーションでのみ機能します。
引数
| 名前 | 型 | 説明 |
|---|---|---|
| tabId | string | アイコンを設定するタブの ID。 |
| icon | string | SLDS アイコンキー。SLDS リファレンスサイトでアイコンキーの完全なリストを確認してください。 |
| iconAlt | string | 省略可能。アイコンの代替テキスト。 |
サンプルコード
このコンポーネントにはボタンがあり、押すと、フォーカスされているタブのアイコンが SLDS の [承認] アクションアイコンに設定されます。
コンポーネントコード:
1<aura:component implements="flexipage:availableForAllPageTypes" access="global" >
2 <lightning:workspaceAPI aura:id="workspace" />
3 <lightning:button label="Set Focused Tab Icon" onclick="{! c.setFocusedTabIcon }" />
4 </aura:component>コントローラコード:
1({
2 setFocusedTabIcon : function(component, event, helper) {
3 var workspaceAPI = component.find("workspace");
4 workspaceAPI.getFocusedTabInfo().then(function(response) {
5 var focusedTabId = response.tabId;
6 workspaceAPI.setTabIcon({
7 tabId: focusedTabId,
8 icon: "action:approval",
9 iconAlt: "Approval"
10 });
11 })
12 .catch(function(error) {
13 console.log(error);
14 });
15 }
16})応答
このメソッドは、成功時に変更されたタブを表す tabInfo オブジェクトに解決される Promise を返します。tabInfo オブジェクトは、ワークスペースタブに関する情報の JSON 配列で、各サブタブに関する情報の配列がネストされています。tabInfo オブジェクトの構造を次に示します。
1{ tabId: string,
2 active: boolean,
3 pinned: boolean,
4 closeable: boolean,
5 highlighted: boolean,
6 title: string,
7 icon: string (SLDS iconKey),
8 iconAlt: string,
9 recordId: string,
10 url: string (URL),
11 pageReference: object,
12 subtabs: [
13 {
14 tabId: string,
15 active: boolean,
16 pinned: boolean,
17 closeable: boolean,
18 highlighted: boolean,
19 title: string,
20 icon: string (SLDS iconKey),
21 iconAlt: string,
22 recordId: string,
23 url: string (URL),
24 pageReference: object,
25 isSubtab: boolean,
26 parentTabId: string,
27 customTitle: string,
28 customIcon: string (URL),
29 customIconAlt: string
30 },
31 { ... }
32 ],
33 isSubtab: boolean,
34 parentTabId: string,
35 customTitle: string,
36 customIcon: string (URL),
37 customIconAlt: string
38}