バックグラウンドユーティリティ項目の使用
lightning:backgroundUtilityItem インターフェースを実装して、イベントを起動したり、イベントに応答したりするコンポーネントをユーティリティバーに表示せずに作成します。
このコンポーネントは、アプリケーションの読み込み時に lightning:backgroundUtilityItem を実装し、lightning:tabCreated イベントをリスンします。このコンポーネントは、5 個を超えるタブが開かないようにします。
1<aura:component implements="lightning:backgroundUtilityItem">
2 <aura:attribute name="limit" default="5" type="Integer" />
3 <aura:handler event="lightning:tabCreated" action="{!c.onTabCreated}" />
4 <lightning:workspaceAPI aura:id="workspace" />
5</aura:component>タブが作成されると、コンポーネントのコントローラでイベントハンドラが onTabCreated をコールし、開いているタブの数をチェックします。タブの数が 5 個を超えている場合、新しく作成されたタブが自動的に閉じます。
1({
2 onTabCreated: function(cmp) {
3 var workspace = cmp.find("workspace");
4 var limit = cmp.get("v.limit");
5 workspace.getAllTabInfo().then(function (tabInfo) {
6 if (tabInfo.length > limit) {
7 workspace.closeTab({
8 tabId: tabInfo[0].tabId
9 });
10 }
11 });
12 }
13})���ックグラウンドユーティリティ項目は、通常のユーティリティ項目と同じ方法でアプリケーションに追加されますが、ユーティリティバーには表示されません。ユーティリティ項目リストのバックグラウンドユーティリティ項目の横には
アイコンが表示されます。