uni-app 学习笔记:使用深度选择器修改第三方库组件的样式

在uni-app中,深度选择器(Deep Selector)是一个非常重要的概念,它允许父组件穿透样式隔离,从而修改子组件的内部样式。

1.什么是uni-app深度选择器

深度选择器是一种CSS选择器,用于穿透组件的样式隔离机制,使得父组件能够选中并修改子组件内部的DOM元素样式。在uni-app中,由于默认启用了样式隔离,直接使用普通CSS选择器往往无法选中子组件内部的元素,这时就需要使用深度选择器。

2. 如何使用uni-app深度选择器

在uni-app中,使用深度选择器的方法是在父组件的 <style scoped> 标签中使用 ::v-deep(Vue 3推荐写法)或 >>>(旧版Vue写法)来指定要穿透的样式。以下是一个使用 ::v-deep 的示例:

在很多app中都会出现如上图所示的选择标签的效果,在该Demo中,标签栏(红框内部分)使用的是第三方组件 me-tabs ,me-tabs 组件的代码里,选中的标签文字和指示器的颜色写死了为红色:

但在实际开发中,高亮颜色一般都是需要我们自定义的。这时候我们有三种选择。

选择一:修改 me-tabs 组件代码,让它支持通过传参自定义高亮颜色(本人是uni-app的初学者,水平比较菜,怕改出问题。况且,这个组件还是比较简单的,如果遇到复杂的组件,就不一定好改了)。

选择二:换一个支持通过传参自定义高亮色的标签栏组件。

我选择了第三种方式,即通过 深度选择器 对第三方组件进行样式覆盖。

3.深度选择器的使用场景

1.覆盖子组件的样式:当你想要修改子组件的样式,但又不希望改动子组件本身的代码时,可以使用 ::v-deep
2.第三方库组件的样式修改:当你使用第三方库提供的组件,而这些组件的样式不符合你的设计需求时,::v-deep 可以帮助你进行样式的自定义。

所以,我在Demo该页面的 <style scoped> 标签中,使用 ::v-deep 添加如下代码:

成功覆盖修改了标签栏选中文字的高亮颜色为蓝色,如下图所示效果。

修改指示器的颜色思路也是一样的,在这就不多说了。

4.注意事项和可能遇到的问题

谨慎使用‌:深度选择器会穿透样式隔离,因此应谨慎使用,避免不必要的全局样式污染。
‌性能考虑‌:深度选择器可能会导致样式匹配变得更加复杂,从而增加渲染性能的开销。在性能敏感的场景中,应尽量避免使用。
兼容性‌:不同版本的Vue或uni-app可能对深度选择器的支持有所不同。在使用时,请确保你的项目环境支持该特性。不是所有的uni-app组件都支持样式穿透。因此,在使用深度选择器之前,应该查阅相关组件的文档,了解其是否支持该特性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/89580.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/89580.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

物联网IOT平台到底是啥

物联网IOT平台&#xff1a;万物互联的智慧中枢清晨&#xff0c;智能闹钟轻柔唤醒你&#xff0c;咖啡机自动开始冲泡&#xff1b;离家时&#xff0c;空调自动关闭&#xff0c;安防摄像头启动&#xff1b;办公室内&#xff0c;生产线传感器实时回传设备状态&#xff0c;仓库管理系…

MySQL详解二

MySQL详解二索引主键索引唯一索引普通索引组合索引全文索引主键选择约束索引实现B树聚集索引辅助索引索引存储innodb 体系结构最左匹配原则覆盖索引索引下推索引失效索引原则索引 数据库中的数据是以记录为单位的&#xff0c;如果一条一条进行查找&#xff0c;几十万数据就已经…

深度学习中的模型剪枝工具Torch-Pruning的使用

Torch-Pruning(TP)是一个结构化剪枝框架&#xff0c;源码地址&#xff1a;https://github.com/VainF/Torch-Pruning&#xff0c;最新发布版本v1.6.0&#xff0c;License为MIT。 TP支持对各种深度神经网络进行结构化剪枝。与通过掩码将参数设置为零的torch.nn.utils.prune不同&a…

力扣-121.买卖股票的最佳时机

121.买卖股票的最佳时机 class Solution {public int maxProfit(int[] prices) {int min prices[0];int max 0;for (int i 1; i < prices.length; i) {max Math.max(prices[i] - min, max);if (prices[i] < min) {min prices[i];}}return max;} }小结&#xff1a;贪…

lvs原理及实战部署

一、集群与分布式系统 1 集群 1-1概念 集群式架构是将多个相同或相似的节点组合在一起&#xff0c;形成一个逻辑上的 “整体”&#xff0c;对外提供统一的服务或资源。节点之间通常具有较高的同构性&#xff08;硬件、软件配置相似&#xff09;&#xff0c;且紧密协作。 1-2 三…

[Linux]如何設置靜態IP位址?

自從將Ubuntu Server 24.04 LTS作業系統建置在VM上後&#xff0c;逐漸導入一些容器和微服務器並使可由其他Client端來連接使用&#xff0c;其中包含AIGC模型和自動化工作流等服務&#xff0c;例如Open-WebUI和n8n。然而&#xff0c;若VM重新開機或路由器因故斷電等等狀態&#…

【Leecode 随笔】

文章目录题目一&#xff1a;盛最多水的容器题目描述&#xff1a;题目分析&#xff1a;解题思路&#xff1a;示例代码&#xff1a;深入剖析&#xff1a;题目二&#xff1a;最长无重复字符的子串题目描述&#xff1a;题目分析&#xff1a;解题思路&#xff1a;示例代码&#xff1…

Springboot项目应用PageInfo分页问题失效

使用github的pagehelper分页依赖<!-- 分页控件 --><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>5.3.0</version><scope>compile</scope></dependency&…

【无标题】标准模型粒子行为与11维拓扑量子色动力学模型严格对应的全面论述

标准模型粒子行为与11维拓扑量子色动力学模型严格对应的全面论述标准模型粒子与拓扑结构的严格对应 mermaid graph LRsubgraph 标准模型粒子A[费米子] --> A1[夸克]A --> A2[轻子]B[玻色子] --> B1[规范玻色子]B --> B2[希格斯]endsubgraph 11维拓扑模型C[实体顶点…

SQL一些关于存储过程和使用的总结

存储过程&#xff1a;数据库里的 "定制工具箱"存储过程就像一个装满工具的箱子&#xff0c;你需要什么功能&#xff0c;就调用对应的工具。它是用 SQL 语句写好的一段程序&#xff0c;存储在数据库里&#xff0c;随时可以调用。创建存储过程 就像在工具箱里放新工具。…

springCloud -- 微服务01

目录 一、认识微服务 1.单体架构 2.微服务 3.SpringCloud 二、微服务拆分 1.服务拆分原则 2.服务调用 3. RestTemplate 三、服务注册和发现 1. 注册中心原理 2. 服务发现 2.1 服务注册 2.2 服务发现 四、OpenFeign 一、认识微服务 1.单体架构 单体架构就是整个项目中所有功能…

Deep Multi-scale Convolutional Neural Network for Dynamic Scene Deblurring 论文阅读

用于动态场景去模糊的深度多尺度卷积神经网络 摘要 针对一般动态场景的非均匀盲去模糊是一个具有挑战性的计算机视觉问题&#xff0c;因为模糊不仅来源于多个物体运动&#xff0c;还来源于相机抖动和场景深度变化。为了去除这些复杂的运动模糊&#xff0c;传统的基于能量优化的…

PDF 拆分合并PDFSam:开源免费 多文件合并 + 按页码拆分 本地处理

各位打工人和学生党们&#xff0c;你知道吗&#xff0c;处理PDF文件简直是咱们的日常噩梦啊&#xff0c;尤其是遇到要合并好几个文件&#xff0c;或者从中抠几页出来的时候&#xff0c;简直头大如斗&#xff01;今天给你们安利一个神仙工具&#xff0c;PDFSam&#xff0c;听我的…

AI产品经理面试宝典第32天:AI+工业场景落地核心问题与应答策略

一、AI+工业落地价值怎么答? 面试官:AI在工业领域能创造哪些核心价值?请用具体案例说明 你的回答: AI在工业领域创造价值的底层逻辑是"数据闭环"。以阿里云ET工业大脑为例,通过采集生产线3000+传感器数据,构建出影响良品率的60个关键变量模型。当数据流经AI…

【09】MFC入门到精通——MFC 属性页对话框的 CPropertyPage类 和 CPropertySheet 类

文章目录九、属性页对话框的类CPropertyPage类 和 CPropertySheet 类。9.1 CPropertyPage 类&#xff08;1&#xff09;构造函数&#xff08;2&#xff09;CancelToClose()函数&#xff08;3&#xff09;SetModified()函数&#xff08;4&#xff09;可重载函数9.2 CPropertyShe…

Python学习笔记4

时间:2025.7.18学习内容&#xff1a;【语法基础】if判断、比较运算符与逻辑运算符一、if判断if判断基本格式&#xff1a;if要判断的条件&#xff0c;条件成立时要做的事情注意&#xff1a;input内默认存储的是字符串age17 if age<18:print(未成年不能上网) scoreinput(你的成…

20250718-2-Kubernetes 应用程序生命周期管理-Pod对象:基本概念(豌豆荚)_笔记

二、Kubernetes应用程序生命周期管理&#xfeff;1. 课程内容概述主要内容&#xff1a;Pod资源共享实现机制管理命令应用自修复&#xff08;重启策略健康检查&#xff09;环境变量Init container静态Pod2. Pod对象介绍&#xfeff;1&#xff09;Pod基本概念&#xfeff;&#x…

为Notepad++插上JSON格式化的翅膀

文章目录概要安装步骤效果展示概要 JSMinNPP.dll 是一个 Notepad 插件&#xff0c;用于压缩 JavaScript 代码和格式化JSON字符床。以下是安装和使用的详细步骤&#xff1a; 安装步骤 下载 JSMinNPP.dll 插件 https://pan.quark.cn/s/73dd0ac225be 放置 DLL 文件 打开 Notepa…

STM32-第七节-TIM定时器-3(输入捕获)

一、简介&#xff1a;1.名称&#xff1a;IC&#xff0c;输入捕获2.电路&#xff1a;如图为通用定时器框图&#xff0c;下半部分的左半模块&#xff0c;与输出比较部分共用捕获/比较寄存器与引脚。3.功能&#xff1a;当通道输入引脚出现电平跳变时&#xff0c;当前CNT的值&#…

Console 纳管 Elasticsearch 9(二):日志监控

前面介绍过 INFINI Console 纳管 Elasticsearch 9&#xff08;一&#xff09;&#xff0c;进行指标监控、数据管理、DSL 语句执行&#xff0c;但日志监控功能需要结合 Agent 才能使用。现在来实现一下&#xff1a; Agent 需要和 ES 部署到同一机器上&#xff0c;这里是在我本地…