Javascript 使用<;插槽>;在本地<;选择>;要素

Javascript 使用<;插槽>;在本地<;选择>;要素,javascript,html,shadow-dom,Javascript,Html,Shadow Dom,我试图创建一个“增强的”select元素,方法是使用shadowdom将内容插入其中。 这是文件(完整代码位于: 从'lit element'导入{LitElement,html} 导出类Select扩展了LitElement{ 渲染(){ 返回html` ` } } 自定义元素。定义('nn-select',select) 然而,似乎没有什么东西被开槽了。 将select重命名为select2“解决”了这个问题 是否存在限制,使我们无法将转换为本机元素?是的,存在限制:元素只接受元素作为子元

我试图创建一个“增强的”
select
元素,方法是使用shadowdom将内容插入其中。 这是文件(完整代码位于:

从'lit element'导入{LitElement,html}
导出类Select扩展了LitElement{
渲染(){
返回html`
`
}
}
自定义元素。定义('nn-select',select)
然而,似乎没有什么东西被开槽了。 将
select
重命名为
select2
“解决”了这个问题


是否存在限制,使我们无法将
转换为本机元素?

是的,存在限制:
元素只接受
元素作为子元素。因此,您不能使用

的限制相同

看看这个

import { LitElement, html } from 'lit-element'
export class Select extends LitElement {
  render () {
    return html`
      <select id="_native">
        <slot></slot>
      </select>
`
  }
}
customElements.define('nn-select', Select)