当前位置: 首页 > news >正文

解决uniapp vue3版本封装组件后:deep()样式穿透不生效的问题

在 Vue 3 的CSS 中,使用:deep() 用于穿透样式作用域,也就是说可以通过deep深度穿透的方式,修改组件内的css样式。

语法推荐写法格式

:deep(.child) { color: red;
}

以上写法是修改子组件中类名为child的样式。

问题复现

使用uniapp开发微信小程序,在页面中使用了uniapp的扩展组件uni-easyinput,该组件默认是圆角矩形的框,想要修改成圆角矩形框,该组件并没有属性对自身修改这个样式,所以采用:deep()穿透深度修改css样式,如下代码示例:

<view class="search-wrap"><view class="fixed"><uni-easyinput class="input" suffixIcon="search"v-model.trim="searchVal" placeholder="请输入要搜索的产品..." @iconClick="handleSearch" @confirm="handleSearch"></uni-easyinput></view>	
</view>
.fixed{background: #BDAF8D;	width: 100%;height: 90rpx;	:deep(.is-input-border){border-radius: 50px;border-color:#BDAF8D;}
}

在这里插入图片描述
通过以上css代码的修改,是可以修改到uni-esayinput组件内的输入框的样式的。

但是输入框在多个页面内都存在,想要将该输入框区域封装成一个组件,经过测试,在H5端封装是没有问题的,但是在微信小程序中,是不起作用的,那么该怎么解决那?

解决办法

defineOptions({options: {styleIsolation: 'shared'}
})
defineOptions 定义组件选项的宏
options.styleIsolation: ‘shared’
  • 这是微信小程序特有的配置,用于控制组件的样式隔离行为。
  • styleIsolation 是小程序组件的一个选项,决定组件样式是否受外部影响或影响外部。
  • ‘shared’ 表示允许样式穿透

总结

options.styleIsolation为编译到微信小程序的组件配置样式共享(允许父子组件样式相互影响)。

http://www.lryc.cn/news/575348.html

相关文章:

  • ZYNQ GP总线深度实战:智能灯光控制器的PS-PL交互艺术
  • Python 惰性求值实战:用生成器重构 Sentence 类
  • 从HTML4到HTML5+CSS3,如何快速掌握?(有老版HTML基础或经验)
  • Web基础关键_001_HTML(一)
  • QTextEdit、QTextBrowser右键菜单汉化显示
  • 数据结构大项目
  • 科技与人类贪欲
  • 医疗AI专科子模型联邦集成编程分析
  • 图像质量对比感悟
  • 【RESTful接口设计规范全解析】URL路径设计 + 动词名词区分 + 状态码 + 返回值结构 + 最佳实践 + 新手常见误区汇总
  • 2D 基准情况下贝叶斯优化应用的概率推理
  • centos 7 安装NVIDIA Container Toolkit
  • 云原生 Cloud Native
  • OBCP第三章 OceanBase SQL 引擎高级技术学习笔记
  • Rust 中的 HTTP 请求利器:reqwest
  • 【STM32】端口复用和重映射
  • 一次性登录令牌(Login Ticket)生成机制分析
  • 环境太多?不好管理怎么办?TakMll 工具帮你快速切换和管理多语言、多版本情况下的版本切换。
  • 【Actix Web】Rust Web开发实战:Actix Web框架全面指南
  • 从零到一训练一个 0.6B 的 MoE 大语言模型
  • 百面Bert
  • 《网络攻防技术》《数据分析与挖掘》《网络体系结构与安全防护》这三个研究领域就业如何?
  • ASP.NET Core Web API 实现 JWT 身份验证
  • list类的详细讲解
  • 基于 Python 的批量文件重命名软件设计与实现
  • 二叉树理论基础
  • 【偏微分方程】基本概念
  • 逆向入门(8)汇编篇-rol指令的学习
  • 【kubernetes】--Service
  • 深入理解提示词工程:原理、分类与实战应用