You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vuetify使用scoped CSS覆盖autocomplete组件插槽样式的问题

正确覆盖Vuetify Autocomplete组件插槽样式的方案

核心逻辑是通过专属类名+深度选择器实现局部样式覆盖,完全不会影响其他全局Vuetify组件的样式,也不需要用长嵌套的DOM选择器。

  • 第一步:给Autocomplete组件绑定专属自定义类,不需要给append插槽加ID
<v-autocomplete
  class="custom-search-autocomplete"
  <!-- 保留你原有的其他属性配置 -->
>
  <template #append>
    <v-btn>Sök</v-btn>
  </template>
</v-autocomplete>
  • 第二步:在<style scoped>块中用深度选择器编写样式,精准命中目标组件的内部元素
    Vue2 项目写法:
<style scoped>
/* 取消输入框原有右内边距,解决按钮被过度向左推的问题 */
.custom-search-autocomplete /deep/ .v-select__slot {
  padding-right: 0;
}
/* 给append插槽区域加底部内边距,调整按钮和输入内容的间距 */
.custom-search-autocomplete /deep/ .v-input__append {
  padding-bottom: 4px;
  margin-left: 8px;
}
</style>

Vue3 + Vite 项目写法:

<style scoped>
.custom-search-autocomplete :deep(.v-select__slot) {
  padding-right: 0;
}
.custom-search-autocomplete :deep(.v-input__append) {
  padding-bottom: 4px;
  margin-left: 8px;
}
</style>

该方案比你原有长嵌套选择器的写法稳定性更高,不会因为Vuetify版本更新修改内部DOM结构导致样式失效,也不需要加!important就能覆盖默认样式。

内容的提问来源于stack exchange,提问作者Thorvald

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 01:18:04