原生小程序 extendClasses 如何使用

官方文档, 文档其实写的比较清楚了。需要注意的点是,外部样式类是不支持嵌套选择器的。只能一对一的修改。

因为我写 uniapp 多一些,可能是因为习惯遇到了下面的问题。

子组件

js 复制代码
/* 组件 custom-component.js */
Component({
  externalClasses: ["my-class"],
});
html 复制代码
<!-- 页面的 wxml -->
<view class="my-class">
  <view class="item-text">Hello, World!</view>
</view>

父组件

html 复制代码
<custom-component my-class="red-text" />
css 复制代码
/* 页面的 wxss */
.red-text .item-text {
  color: red;
}

这种方式是无效的。因为在 vue 和 uniapp 里面,只要编写了样式穿透组件内部的父盒子选择器,那么父盒子里面的元素我可以随便修改样式。

scss 复制代码
:deep(.parent-class) {
  // 这里可以随便写,只要在父盒子里面就可以自定义组件内部标签的样式
  .child-class {
    color: red;
  }
  .item-text {
    color: red;
  }
}

但是在小程序里面,这种样式是无效的,因为外部样式类不支持嵌套选择器。必须放到你需要修改的标签上。比如下面,修改你的组件文件,把externalClasses: ["my-class"] 修改到你需要修改的标签上, 一对一的修改。就可以了

html 复制代码
<view>
  <!-- 把你的自定义类名一对一的放在标签上 -->
  <view class="my-class">Hello, World!</view>
</view>
相关推荐
小远yyds4 小时前
跨平台使用高德地图服务
前端·javascript·vue.js·小程序·uni-app
万岳科技程序员小金5 小时前
从源码到成品应用:互联网医院系统与在线问诊APP的开发全解析
小程序·软件开发·app开发·在线问诊系统源码·在线问诊app开发
V+zmm101346 小时前
社区养老服务小程序ssm+论文源码调试讲解
java·服务器·前端·javascript·小程序·毕业设计·1024程序员节
说私域6 小时前
以客户为导向在开源 AI 智能名片 2 + 1 链动模式 S2B2C 商城小程序内容创作中的实践与价值
人工智能·小程序·开源
2401_844139039 小时前
Java爱情交友婚恋系统小程序源码
微信·微信小程序·小程序·微信公众平台·交友·微信开放平台
qq229511650210 小时前
微信小程序 uniapp网络记账设计个人理财系统
微信小程序·小程序·uni-app
阿斌_bingyu70911 小时前
一个小程序如何对接多个收款账户?
小程序·车载系统
guanpinkeji11 小时前
酒店民宿小程序,探索行业数字化管理发展
大数据·小程序·小程序开发·小程序制作·民宿小程序·酒店民宿小程序
YMZN9117 小时前
基于SSM+小程序的计算机实验室排课与查询管理系统(实验室2)
小程序
说私域17 小时前
全渠道供应链打造中企业定制开发2+1链动模式S2B2C商城小程序的策略与影响
java·大数据·小程序