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

解决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.xdnf.cn/news/14641.html

相关文章:

  • 【攻防篇】解决:阿里云docker 容器中自动启动xmrig挖矿
  • 超实用AI工具分享——ViiTor AI视频配音功能教程(附图文)
  • php项目部署----------酒店项目
  • 知攻善防应急靶机 Windows web 3
  • LVS-DR负载均衡群集深度实践:高性能架构设计与排障指南
  • 笔记02:布线-差分对的设置与添加
  • Liunx操作系统笔记2
  • 《解锁前端潜力:自动化流程搭建秘籍》
  • Boosting:从理论到实践——集成学习中的偏差征服者
  • linux-修改文件命令(补充)
  • Jenkins Pipeline 与 Python 脚本之间使用环境变量通信
  • 数的三次方根
  • 【深度学习新浪潮】空间计算的医疗应用技术分析(简要版)
  • TCP/UDP协议深度解析(二):TCP连接管理全解,三次握手四次挥手的完整流程
  • Linux docker拉取镜像报错解决
  • 空间理解模型 SpatialLM 正式发布首份技术报告
  • 数据结构 顺序表与链表
  • 一步部署APache编译安装脚本
  • 基于SSM框架+mysql实现的监考安排管理系统[含源码+数据库+项目开发技术手册]
  • 使用VIVADO合并FPGA bit文件和Microblaze elf
  • SQL学习笔记2
  • 【大厂机试题解法笔记】可以组成网络的服务器
  • 使用亮数据网页抓取API自动获取Tiktok数据
  • Windows下安装zookeeper
  • 使用OpenCV实现中文字体渲染与特效处理
  • 单片机常用通信外设特点及通信方式对比表
  • 入门级STM32F103C8T6无人机遥控(原理图)
  • window显示驱动开发—支持 DXGI DDI(二)
  • 具身智能新突破:Gemini Robotics On-Device,让机器人拥有“本地大脑”
  • 【智能协同云图库】智能协同云图库第二弹:用户管理系统后端设计与接口开发