原生小程序 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>
相关推荐
小码哥0682 小时前
从三甲综合医院到连锁诊所:医院管理小程序的场景化突围逻辑(陪诊系统-陪诊APP-陪诊小程序)
小程序·医院管理系统·陪诊小程序·陪诊系统·陪诊app
2501_916007473 小时前
iOS和macOS应用程序性能分析和优化工具使用综合指南
android·macos·ios·小程序·uni-app·iphone·webview
正在走向自律4 小时前
用豆包Seed Evolving打造全功能【AI智能记账】小程序,开源可落地
人工智能·小程序·开源·智能记账
小羊Yveesss1 天前
模板建站哪个平台好?模板数量之外还要比较编辑与SEO能力
大数据·人工智能·小程序
2501_916007471 天前
深入理解HTTPS对称与非对称加密机制及Charles抓包实践
网络协议·http·ios·小程序·https·uni-app·iphone
郑州光合科技余经理1 天前
家政O2O平台解析:从0搭建上门预约小程序解决方案
android·java·开发语言·前端·小程序·架构·php
维双云1 天前
小程序商城制作一个需要多少钱?2026报价明细与成本拆解
小程序
郑州光合科技余经理1 天前
家政预约小程序后端源码深度剖析:支付回调实战
java·开发语言·前端·git·小程序·架构·php
电商API_180079052471 天前
导购比价小程序场景|京东联盟商品详情对接方案|多规格图文拉取技术实操
网络·小程序·网络爬虫
北极糊的狐1 天前
钉钉小程序 Git 版本管理完整流程
git·小程序·钉钉