Closed cubxx closed 4 months ago
感谢你的反馈,最初的考虑是开放 shadowRoot 可能会增加开发者的心智负担。下一个版本中会在所有组件增加 part,届时你可以通过CSS ::part(选择器) 来选择 shadowRoot 的内部元素 ,(下一个版本预计会这两天更新)。
@apprat 我认为从社区的角度来看,开放是有必要的,开发者应该对组件具有完全控制权
参考同类组件库: https://github.com/XboxYan/xy-ui https://github.com/zdhxiong/mdui https://github.com/FriedRiceNoodles/banana-ui
从开源作者的角度来看,封闭也是不值得的,因为这种防御很容易被绕过:
const _attachShadow = Element.prototype.attachShadow;
Element.prototype.attachShadow = function () {
return _attachShadow.call(this, { mode: "open" });
};
https://blog.revillweb.com/open-vs-closed-shadow-dom-9f3d7427d1af?gi=c57da418b74c
我更是希望的就是组件可以有单独开关
感谢你们的工作
我尝试设置 Snackbar 的背景色,发现无法访问 shadowRoot,这可能不利于对组件进行更高程度的自定义
或者有其他替代方案吗?