【发布时间】:2023-03-28 02:40:01
【问题描述】:
我正在开发一个用于上传文件的组件。我制作了两个 Web 组件(wc):
-
wc-uploader带有选择文件按钮的父级。 -
wc-upload作为文件添加到wc-uploader的子代被添加。
如果父级 (wc-uploader) 具有 readonly 或 disabled 属性,我希望以不同的方式设置 wc-upload 项目的样式。
我认为样式应该在与它相关的wc-upload 组件内。
这是我在wc-upload 模板中尝试过的选择器,但它不起作用。我猜它看不到它的影子根。
wc-uploader[readonly] :host #close { /* here host = wc-uploader */
opacity: 0.5;
}
如何根据其父元素设置此元素的样式。
例如。就像如果一个选择项被禁用,那么它的 option 孩子也被禁用。
【问题讨论】:
-
你真的需要 shadowDOM(s) 吗?
-
@Danny'365CSI'Engelman 是的,因为我在同一个页面上有 3 个这样的上传者,而且要相互隔离的 Javascript 相当多
-
shadowRoots 是边界。然后主机必须做一些事情让孩子知道属性改变了......发出事件(孩子听)或在孩子身上设置属性
标签: css css-selectors web-component