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

el-button传入icon用法可能会出现的问题

el-button传入icon用法可能会出现的问题

在项目中,使用 el-buttonicon 属性渲染按钮图标时,大分辨率下显示正常,但切换到小分辨率后,图标尺寸异常。

异常原因

初次渲染时,el-button 通过 icon="el-icon-search" 挂载 <svg> 元素,尺寸和样式跟随父级字体大小(通常为 14px),显示正常。

切换到小分辨率后,父级容器(如 flex、grid 布局)被压缩,el-button 重新渲染,<svg> 元素被重新挂载,内部 font-size 计算为较小值(8.75px),SVG 的 width="1em" 随之缩放,导致渲染出 8.75x8.75 的图标。

尝试修复:使用 v-show 替代 v-if

为避免重新渲染,将显隐逻辑从 v-if 改为 v-show

<el-button v-show="showButton" icon="el-icon-search" />

优点在于元素始终在 DOM 中,不会重新挂载 <svg>,切换大屏小屏时避免了父级样式重新计算。

但首次进入小屏后,若父级布局未能正确计算 SVG 尺寸(依然为 8.75x8.75),即使切回大屏,图标也不会恢复原大小。因为 v-show 只是切换 display: none,浏览器在 display:none → display:block 时不会触发 SVG 重新渲染,图标尺寸异常被“固化”。

解决方案:使用插槽写法固定尺寸

ElementPlus 提供了 #icon 插槽,可以完全替代 icon="xxx" 的写法。直接使用 <el-icon> 并强制指定尺寸:

<el-buttonv-show="showButton"style="position: absolute; right: 34px; bottom: 38px"roundtype="primary"
><template #icon><el-icon :size="14"><Search /></el-icon></template>
</el-button>
http://www.dtcms.com/a/269444.html

相关文章:

  • Unity开发如何解决iOS闪退问题
  • 数据分析-59-SPC统计过程控制XR图和XS图和IMR图和CPK分析图
  • 手机解压软件 7z:高效便捷的解压缩利器
  • 【机器学习笔记 Ⅲ】5 强化学习
  • C++异步编程入门
  • JVM 基础 - 类字节码详解
  • 编码器(Encoder)和解码器(Decoder)
  • 你好,你的小程序实际运营内容与名称简介不符,请上架符合小程序名称简介描述的正式内容/商品,或修改名称简介并保持服务内容与图文一致。
  • 【Linux】Redis 6.2.6 的二进制部署【适用于多版本】
  • Java 导出pdf 写出demo 1、需要设置自定义页眉和文字 2、可以插入表格 3、可以插入图片
  • MSPM0G3519-PA23 引脚无法使用
  • 小米YU7预售现象深度解析:智能电动汽车的下一个范式革命
  • Vue、Laravel 项目初始化命令对比 / curl 命令/ CORS 机制总结与案例
  • react的条件渲染【简约风5min】
  • Rust 仿射类型(Affine Types)
  • 在 Vue2 与 Vue3 中,面对 **大数据量交互体验优化** 和 **ECharts 大数据渲染性能优化**
  • 文风写作模仿各种公文范文快速生成初稿
  • MySQL字符串函数全解析
  • 设计模式笔记_创建型_建造者模式
  • Android 15应用适配指南
  • .NET9 实现对象深拷贝和浅拷贝的性能测试
  • 【Node.js】文本与 pdf 的相互转换
  • 大数据平台之ranger与ldap集成,同步用户和组
  • 手机、平板音频软件开发调测常用命令
  • 【字节跳动】数据挖掘面试题0013:怎么做男女二分类问题, 从抖音 app 提供的内容中。
  • Ubuntu 22.04 安装英伟达驱动
  • 【PTA数据结构 | C语言版】返回单链表 list 中第 i 个元素值
  • [论文阅读] 软件工程 | 自适应CPS中的人机协作与伦理
  • Spring Batch终极指南:原理、实战与性能优化
  • 掌握Linux信号集操作技巧