el-input 输入框宽度自适应宽度

利用一个隐藏的 <span>(称为 mirror)渲染当前输入内容:

  1. 该 span 使用与 <el-input> 相同的字体样式;

  2. 每次输入时,根据 span.offsetWidth 动态计算内容宽度;

  3. 将该宽度赋给 <el-input> 的 style.width;

  4. 给输入框增加少许 padding 余量,保证视觉舒适。

限制最大宽度

复制代码
inputWidth.value = Math.min(mirror.value.offsetWidth + 24, 400)

此方案无需修改 Element Plus 源码,通过一个简单的隐藏 span 即可实现原生级别的动态自适应宽度输入框效果

相关推荐
A黄俊辉A3 天前
uniapp webview中实现 app和内嵌的H5双向通信
vue.js·json
三十而立洋3 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
卡布鲁3 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
李少兄3 天前
JavaScript 隐式全局变量解析
javascript
honkun63 天前
vue 表格组件 vxe-table 配置 ajax 请求自动加载数据与表单查询
vue.js·vxe-table
kybs19913 天前
全球灾害数据分析可视化 毕业设计-附源码66794
vue.js·spring boot·mysql·安全·django·c#·asp.net
雪芽蓝域zzs3 天前
第26章:ECharts 自定义主题 + 页面一键切换主题(深色 / 浅色两套)
vue.js·echars
雪芽蓝域zzs3 天前
第22章:ECharts 图表联动(多图表交互联动)
vue.js·echars
daols883 天前
vue 表格组件 vxe-table 实现虚拟滚动与无需滚动加载
vue.js·vxe-table
雪芽蓝域zzs3 天前
第18章:ECharts 折线图 + 标记点、标记线,自定义 tooltip
vue.js·echars