HTMLSlotElement: assign() 方法
HTMLSlotElement 接口的 assign() 方法将 slot 的手动分配节点设置为可分配元素的有序集合。在通过 assign() 方法分配节点之前,手动分配节点集初始为空。
注意: 你不能混用手动(命令式)和命名(声明式、自动)的 slot 分配。因此,要使此方法生效,需要使用 slotAssignment: "manual" 选项创建 shadow tree。
语法
js
assign(node1)
assign(node1, node2)
assign(node1, node2, /* …, */ nodeN)
参数
返回值
无(undefined)。
异常
NotAllowedErrorDOMException-
在自动分配的 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 |
浏览器兼容性
加载中…