Vuetify中v-select组件无法加载默认CSS样式如何解决
问题描述

项目中已正确引入Vuetify插件,其余组件运行、样式加载均正常,唯独自定义组件内使用的v-select组件未加载默认CSS样式,显示效果如上图。
复现代码片段:
<v-select :items="items" label="Standard"></v-select> data() { return { items: [ { title: "Click Me" }, { title: "Click Me" }, { title: "Click Me" }, { title: "Click Me 2" }, ], }; },
排查&修复方案
按优先级从高到低排查以下两点即可解决:
- 检查组件是否在
v-app容器内
Vuetify所有交互类、表单类组件必须作为<v-app>的子节点渲染,才能正常注入样式、读取全局主题配置。如果自定义组件是通过弹窗、动态插槽等方式挂载到了v-app节点外层,或者v-app节点被v-if控制意外未渲染,就会出现部分组件样式丢失的问题,把组件渲染位置调整到v-app内部即可。 - 修正
items字段配置
当前传入的选项对象用title字段存储显示文本,Vuetify默认读取选项的text(Vuetify 2/3版本)字段作为显示文本,字段不匹配会导致组件内部渲染逻辑异常,连带样式加载失败,两种修复方式二选一即可:- 直接修改
items数据结构,使用默认字段:
items: [ { text: "Click Me", value: 1 }, { text: "Click Me", value: 2 }, { text: "Click Me", value: 3 }, { text: "Click Me 2", value: 4 }, ]- 给
v-select显式指定item-title属性,匹配现有title字段:
<v-select :items="items" label="Standard" item-title="title"></v-select> - 直接修改
内容的提问来源于stack exchange,提问作者Nasim Alizai
相关产品推荐
相关产品推荐

