关于报错
Some selectors are not allowed in component wxss, including tag name selectors, ID selectors, and attribute selectors.
翻译一下
因此我们可以知道报错的原因是因为违反了自定义组件的一些特殊规则
查看官方文档我们可以知道这些规则
组件样式
组件对应
wxss
文件的样式,只对组件 wxml 内的节点生效。编写组件样式时,需要注意以下几点:
- 组件和引用组件的页面不能使用 id 选择器(
#a
)、属性选择器([a]
)和标签名选择器,请改用 class 选择器。- 组件和引用组件的页面中使用后代选择器(
.a .b
)在一些极端情况下会有非预期的表现,如遇,请避免使用。- 子元素选择器(
.a>.b
)只能用于view
组件与其子节点之间,用于其他组件可能导致非预期的情况。- 继承样式,如
font
、color
,会从组件外继承到组件内。- 除继承样式外,
app.wxss
中的样式、组件所在页面的的样式对自定义组件无效(除非更改组件样式隔离选项)。#a { } /* 在组件中不能使用 */ [a] { } /* 在组件中不能使用 */ button { } /* 在组件中不能使用 */ .a > .b { } /* 除非 .a 是 view 组件节点,否则不一定会生效 */
文档地址:组件模板和样式 | 微信开放文档 (qq.com)
修改方法
把标记名选择器、ID选择器和属性选择器改成类选择器
关于微信小程序报错:Some selectors are not allowed in component wxss, including tag name selectors...
于 2022-06-09 01:46:40 首次发布