html5自定义组件样式,Taro 自定义组件样式不生效及解决方案
一、问题
页面功能太多,想分成多个自定义组件,结果发现自定义组件样式不生效。
二、解决办法(推荐第二种)
第一种:利用 externalClasses 定义段定义若干个外部样式类实现(不推荐,写法累赘繁琐,可忽略)
/* CustomComp.js */
export default class CustomComp extends Component {
static externalClasses = ['my-class']
render () {
return 这段文本的颜色由组件外的 class 决定
}
}
/* MyPage.js */
export default class MyPage extends Component {
render () {
return
}
}
/* MyPage.scss */
.red-text {
color: red;
}
缺点:
1、自定义组件里面的每一个className都需要在externalClasses里面定义,然后才能使用;
2、不能使用 id 选择器(#a)、属性选择器([a])和标签名选择器等多种写法限制;
第二种:使用 CSS Modules(通过引入样式变量的方式添加className,哪里需要就在哪里引用即可)
import Taro, { Component } from '@tarojs/taro'
import { View, Text } from '@tarojs/components'
import styles from './Test.module.scss'
export default class Test extends Component {
constructor(props) {
super(props)
this.state = { }
}
render () {
return (
Hello world!
)
}
}
Taro 中内置了 CSS Modules 的支持,但默认是关闭的,如果需要开启使用,请先在编译配置中添加如下配置
根目录下的config/index.js:
// 小程序
mini: {
postcss: {
// css modules 功能开关与相关配置
cssModules: {
enable: true, // 默认为 false,如需使用 css modules 功能,则设为 true
config: {
namingPattern: 'module', // 转换模式,取值为 global/module,下文详细说明
generateScopedName: '[name]__[local]___[hash:base64:5]'
}
}
}
}
// h5
h5: {
postcss: {
// css modules 功能开关与相关配置
cssModules: {
enable: true, // 默认为 false,如需使用 css modules 功能,则设为 true
config: {
namingPattern: 'module', // 转换模式,取值为 global/module,下文详细说明
generateScopedName: '[name]__[local]___[hash:base64:5]'
}
}
}
}
需要注意文件取名需要在中间加上 .module. ,因为namingPattern配置的'module'模式,只有文件名中包含 .module. 的样式文件会经过 CSS Modules 转换处理。
标签:taro,自定义,modules,module,组件,Taro,class,css
来源: https://www.cnblogs.com/yang-shun/p/12592318.html
html5自定义组件样式,Taro 自定义组件样式不生效及解决方案相关推荐
- 支付宝小程序 | 上传图片组件(添加默认样式以及自定义上传样式)
使用my.uploadFile. my.chooseImage 的方式实现图片上传 注意: 使用该方式上传文件,后端也需要参照官方文档进行修改 https://opendocs.alipay.com/ ...
- html5 input搜索框样式修改,修改input搜索框默认叉号的样式为自定义图片
兼容IE的自定义input搜索框叉号样式(使用图片替换input原生叉号) 代码 input::-webkit-search-cancel-button { -webkit-appearance: n ...
- react 组件样式_如何使用样式化组件为React组件创建视觉变体
react 组件样式 by Gilad Dayagi 通过吉拉德·达亚吉 如何使用样式化组件为React组件创建视觉变体 (How to create visual variants for Reac ...
- ReactNative简介、开发环境、调试、常用组件、useState状态、FlatList组件、SectionList组件、Platform 模块、定义样式、图片组件、触摸事件、打包apk发布版
ReactNative简介: ReactNative是基于React语法来进行开发移动app的框架: ReactNative中提供了移动端专用的一些组件,我们要使用ReactNative固有的组件代替 ...
- php 小程序自定义图,微信小程序之如何使用自定义组件封装原生 image 组件
零.问题的由来 一般在前端展示图片时都会碰到这两个常见的需求: 图片未加载完成时先展示占位图,等到图片加载完毕后再展示实际的图片. 假如图片链接有问题(比如 404),依然展示占位图.甚至你还可以增加 ...
- 微信小程序(组件:路由、表单、媒体、自定义组件,插槽、组件通讯、侦听器、生命周期)
三.微信小程序组件 组件就是小程序页面的组成结构,与html在web网页开发中的作用一样,铺设页面.可以参考其他UI库,像elementUI,vantUI组件 组件是视图层的基本组成单元. 组件自带一 ...
- 自定义组件开发六 自定义组件
概述 Android SDK 为我们提供了一套完整的组件库,数量多.功能强,涉及到方方面面,但是,我们依然看到软件市场上的每个 App 都有自己独特的东西,绝不是千遍一律的,而且也会和 IOS相互借鉴 ...
- 微信小程序全栈开发实践 第二章 微信小程序组件介绍及使用 -- 2.9 页面链接组件,如何自定义一个导航栏?
一.小程序中的导航组件 functional-page-navigator 仅在插件中有效,用于跳转到插件功能页. navigator 小程序标准的导航组件 小程序插件是对一些js接口.自定义组件或页 ...
- vue 公共列表选择组件,引用museUI的样式
题外话: 我另一篇文章写了VantUI 的公共样式选择组件,比这个组件完善一些,个人比较喜欢VantUI 组件地址:https://blog.csdn.net/qq_38832375/article/ ...
最新文章
- 神经网络的sigmoid激活函数是一种平方映射
- css中的px、em、rem 详解
- 銷售訂單 (Sales Order): 資料表及更新記錄
- 《Windows Phone 8 Development Internals》读书笔记-1-2-1-连载
- 光纤通道如何过渡到SAN
- sqlserver 多表更新
- 一直跳出来 visual_六天时间排出来肾结石,这种经历再也不要了
- 钟薛高雪糕最贵一支66元 创始人:成本40 你爱要不要
- vue获取编辑器纯文字_vue中使用富文本编辑器
- python自学看什么书-自学Python要看哪些书?有什么推荐?
- spark如何进行聚类可视化_利用spark做文本聚类分析
- NYOJ201-作业题(最长升降子序列)
- 电信光猫/烽火HG6543c1光猫超级密码获取改桥接模式( 中国电信浙江公司定制天翼网关3.0)
- sql cai bird教程学习记录
- cesium three性能比较_高中英语中的“形容词”,形容词的用法,比较等级及修饰词...
- 青少年python编程入门范例_青少年Python编程入门—图解Python
- 支付宝开发流程及注意事项
- 牛客2019跨年AK场题解(一)
- h5实现上下滑动切页
- 计算机音乐谱安娜的橱窗,钢琴谱 - 安娜的橱窗(2)