我有两个元素:一个是<drop-down>
元素,另一个是<populated-drop-down>
元素。 populated-drop-down
extends
drop-down
,但是,正如您可能已经猜到的那样,尝试使用一些选项预先填充它。假设我可以简单地将HTML放在<shadow></shadow>
标记内,但这不起作用:
<polymer-element name="drop-down" noscript attributes="label">
<template>
<style>
:host{display:inline-block;border:1px solid;padding:1rem}
#content{position:absolute}
#drop, #content {display:none}
#drop:checked + #content {display:block}
</style>
<label for="drop">{{label}}</label>
<input type="checkbox" id="drop">
<div id="content"><content></content></div>
</template>
</polymer-element>
<polymer-element name="pop-drop-down" extends="drop-down" noscript>
<template>
<shadow>
<ul>
<li>Option1</li>
<li>Option2</li>
<li>Option3</li>
<li>Option4</li>
<li>Option5</li>
</ul>
</shadow>
</template>
</polymer-element>
<drop-down label="Working DropDown">
<ul>
<li>Option1</li>
<li>Option2</li>
<li>Option3</li>
<li>Option4</li>
<li>Option5</li>
</ul>
</drop-down>
<pop-drop-down label="Not working pre-populated dropdown">
</pop-drop-down>
(Code also available code on JSBin。)
我似乎能够在<shadow></shadow>
周围包装其他标签,但不能在<shadow></shadow>
内放置任何标签
答案 0 :(得分:3)
答案 1 :(得分:2)
大多数开发人员社区都想要这个功能,但浏览器实现者担心会产生性能问题,所以它被排除在最新规范之外。
我怀疑这不久就会成为ShadowDOM的一个功能,但从技术上讲,陪审团仍然没有。