HTMLSlotElement: assign() 方法

Baseline 已廣泛支援

此功能已成熟,並可在許多裝置和瀏覽器版本上執行。自 2023 年 3 月以來,它已在各種瀏覽器中可用。

HTMLSlotElement 介面的 assign() 方法將 slot 的手動分配節點設定為可分配元素的有序集合。在透過 assign() 方法分配節點之前,手動分配節點集初始為空。

注意: 你不能混用手動(命令式)和命名(宣告式、自動)的 slot 分配。因此,要使此方法生效,需要使用 slotAssignment: "manual" 選項建立 shadow tree。

語法

js
assign(node1)
assign(node1, node2)
assign(node1, node2, /* …, */ nodeN)

引數

node1, …, nodeN

ElementText 節點的集合。

返回值

無(undefined)。

異常

NotAllowedError DOMException

在自動分配的 slot 上呼叫此方法時丟擲。

示例

在下面的示例中,assign() 方法用於在選項卡式應用程式中顯示正確的選項卡。呼叫該函式並傳入要顯示的面板,然後將其分配給 slot。

js
function UpdateDisplayTab(elem, tabIdx) {
  const shadow = elem.shadowRoot;
  const slot = shadow.querySelector("slot");
  const panels = elem.querySelectorAll("tab-panel");
  if (panels.length && tabIdx && tabIdx <= panels.length) {
    slot.assign(panels[tabIdx - 1]);
  } else {
    slot.assign();
  }
}

規範

規範
HTML
# dom-slot-assign

瀏覽器相容性

另見