【Element Plus】升级版本后,el-drawer自定义的关闭按钮离奇消失之谜

问题阐述

项目中使用Element Plus的Drawer组件时,在header插槽中自定义关闭按钮,该按钮基于header进行绝对定位,悬浮于header左上角,如下图所示。在本次需求迭代之前,一直是可以正常显示的。但是这次新需求迭代后,发现该按钮无法显示。

排查步骤

  1. 按钮不显示原因,通过检查页面元素可知,是el-drawer__header作了overflow: hidden处理;
  1. 检查是否是新需求迭代影响到原来的样式布局,经过排查,本次迭代并没有涉及drawer样式的相关改动;
  2. 通过第一步的检查元素发现,该样式类并无添加任何前缀父类,如 .parent-className .el-drawer__header,说明是该组件本身的样式写法。
  3. 由第3步的分析,初步判断可能是由于组件库版本改动导致,因此调整排查方向。
  4. 切换项目分支至上一版本,查询package-lock.json中的element-plus版本为2.6.1,并查看对应的el-drawer__header的样式
  1. 切换项目至本次迭代分支,查询package-lock.json中的element-plus版本为2.11.5,并查看对应的el-drawer__header的样式
  1. 到这里,对比两个版本的样式就可以知道,此次的问题的原因是由于组件库版本升级,组件样式调整导致的。

为什么会出现这种情况

由于公司之前对git仓库服务商进行更换,且在上一个仓库服务商上,公司前端项目使用的是自有的npm制品库。但是迁移至新服务商后,放弃自有制品库的方案,采用直接npm下载依赖的方案,所以需要对原项目的package-lock.json进行删除,避免后续项目下载依赖下载不到。由于删除了package-lock以及。node_modules,项目在重新下载依赖时就会下载第三方依赖的最新版本,从而导致这次问题的发生。

小结

在公司项目的迭代上,package-lock.json对项目的稳定性和一致性是有帮助的,有了它,第三方库依赖版本会进行锁定,不会出现版本随意更新的问题。

相关推荐
小poop23 分钟前
CSS 基础与实战:从入门到精通网页美化
前端
Csvn2 小时前
运行时性能
前端
Never_every993 小时前
位图转矢量工具哪个好?实测抠抠图AI位图转矢量工具
大数据·前端
paopaokaka_luck3 小时前
宠物门店经营管理系统(销售与库存联动、进货自动记账、 退换与退款关联、员工个人业绩、ECharts 经营分析、滞销识别与客户分层、宠物档案年龄计算)
前端·javascript·spring boot·mysql·echarts·mybatis·1024程序员节
空中湖4 小时前
用 React 写数据大屏:为什么我不建议用图表库
前端·react.js·前端框架
狮子座的男孩5 小时前
html+css基础:25、3D变换(3D空间与景深/透视点的位置/位移/旋转/缩放/多重变换/背部可见性)
css·经验分享·html·旋转·透视点·缩放/位移·3d变换/空间与景深
欣欣之王来了5 小时前
原始HTML插值:v-html指令的使用与安全风险
前端·学习·架构·项目·vue3教程
IT_陈寒5 小时前
Redis的LRU淘汰策略坑了我一整天
前端·人工智能·后端
计算机魔术师5 小时前
砍半价格、参数再涨,国产旗舰追到 Opus 鼻尖了
前端
paopaokaka_luck5 小时前
心理咨询管理系统(WebSocket实时沟通、基于用户的协同过滤、 ECharts多维分析、 预约业务流程、预约校验与定时处理)
java·vue.js·spring boot·mysql·spring·echarts·1024程序员节