Element-plus中的el-input无法输入空格和Enter事件无法触发问题

摘要

因为在项目中经常遇到但是又经常忘记是什么原因,记录一下留着自用。

原因:在 el-input 外层包了一层 el-tooltip 导致的。
解决:设置 el-tooltiptrigger-keys 属性为空数组,<el-tooltip v-bind="$tooltipConfig" :content="t('sample.tissue')" :trigger-keys="[]">

在这里插入图片描述

### 解决 Vue3 Element Plus 中 `el-descriptions` 组件包裹 `el-input` 时样式穿透的问题 当使用 `el-descriptions` 包含 `el-input` 并尝试应用自定义样式时,可能会遇到样式无法生效的情况。这是因为 Element Plus 的组件默认会作用于 Shadow DOM 或者有更具体的 CSS 特异性设置。 #### 使用深类选择器(Deep Selector) 为了使外部样式能够影响到嵌套的子组件,可以采用 `/deep/` 或 `::v-deep` 深层级选择器来实现样式穿透: ```css <style scoped> /* 对于较新的版本 */ .el-descriptions /deep/ .el-input { width: 100%; } /* 另一种方式适用于某些特定场景 */ .el-descriptions ::v-deep(.el-input) { width: 100%; } </style> ``` 需要注意的是,在最新的 Vue 单文件组件 (SFC) 规范中推荐使用 `>>>` 替代 `/deep/` 来达到相同效果;然而对于 `<style scoped>` 块内的样式表来说,上述两种写法均能正常工作[^1]。 #### 利用全局样式覆盖 如果希望更加彻底地控制内部输入框的表现形式而不局限于单个页面,则可以在项目根目录下的公共样式文件里直接指定规则: ```css /* 放置在 main.css 或类似的全局样式文件中 */ .el-descriptions-item__content .el-input { /* 自定义属性 */ width: 100% !important; } ``` 这种方法虽然简单粗暴但是效率较低,并且可能会影响到其他地方同样结构的内容,因此建议谨慎使用并尽可能通过局部解决方案解决问题[^2]。 #### 修改组件库主题变量 Element Plus 提供了一种更为优雅的方法——即调整其内置的主题配置项。可以通过修改 LESS/SASS 文件中的相应参数来自定义外观而无需额外编写过多CSS代码。具体操作可参照官方文档关于定制化的部分说明[^3]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值