element-ui el-select同时使用multiple和filterable会出现input小白框样式问题的解决方式

221 阅读1分钟

最近在使用element组件库(2.15.6)做项目时,客户反馈在某个功能中select选择器需要有多选+可搜索,于是按照element官方文档配置了multiple和filterable两个属性

QQ截图20240614111400.png

结果项目打包部署到测试服务器后,选择器中出现搜索功能(filterable)的小白框

QQ截图20240614110900.png

自己摸索加上询问AI大模型后,找到了解决方式,代码如下

<style lang="less" scoped>  
  
.el-select ::v-deep .el-select__input.is-medium {  
    border: none;  
    background-color: transparent;  
}  
  
.el-select:first-of-type ::v-deep .el-select__input.is-medium:focus {  
    border: none;  
    outline: none;  
    box-shadow: none;  
    background-color: transparent;  
}  
  
</style>

first-of-type:匹配每个类型的第一个子元素,它会选择每个同类型子元素中的第一个实例

再次打包部署到服务器,问题解决,搜索和多选功能也都正常

QQ截图20240614111128.png

问题分析:原因应该是element组件的默认样式经过webpack打包后原样式代码发生了变化,部署到服务器也就出现样式错乱的问题,我本地开发环境是不会有这个问题的