javascript - 将类添加到 Vuetify 的 v-select 组件的第一项
问题描述
我正在使用Vuetify 的 v-select 组件,我想向 v-select 组件的第一项添加一个类,例如,使第一个条目“Item A”的文本显示为红色。
似乎项目列表是自动生成的,我不知道如何访问单个项目。
我有这个:
<v-select
v-model="selected"
:items="items"
chips
label="Some Items"
multiple
outlined
cache-items
></v-select>
这是否可以使第一个条目“项目 A”显示为红色,如果,如何?
谢谢你的帮助!
解决方案
如果第一个项目不是真正的项目,例如Select all,则可以使用prepend-item
插槽来实现。请参阅https://vuetifyjs.com/en/components/selects#prepend-append-item-slots。
要使第一个项目变为红色,您可以使用:first-child
选择器。可以content-class
设置使用menu-props
向菜单本身添加合适的 CSS 类。
此示例演示了这两种技术:
new Vue({
el: '#app',
vuetify: new Vuetify(),
data () {
return {
items: ['Item A', 'Item B', 'Item C'],
selected1: [],
selected2: []
}
}
})
.red-text {
color: red;
}
.red-first-item .v-list-item:first-child .v-list-item__title {
color: red;
}
<link href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900" rel="stylesheet">
<link href="https://unpkg.com/@mdi/font@3.9.97/css/materialdesignicons.css" rel="stylesheet">
<link href="https://unpkg.com/vuetify@2.0.19/dist/vuetify.css" rel="stylesheet">
<script src="https://unpkg.com/vue@2.6.10/dist/vue.js"></script>
<script src="https://unpkg.com/vuetify@2.0.19/dist/vuetify.js"></script>
<div id="app">
<v-app>
<v-content>
<v-container>
<v-select
v-model="selected1"
:items="items"
chips
label="Some Items"
multiple
outlined
cache-items
>
<template v-slot:prepend-item>
<v-list-item>
<span class="red-text">Red item</span>
</v-list-item>
</template>
</v-select>
<v-select
v-model="selected2"
:items="items"
chips
label="Some Items"
multiple
outlined
cache-items
:menu-props="{ contentClass: 'red-first-item' }"
>
</v-select>
</v-container>
</v-content>
</v-app>
</div>
或者,item
插槽可用于自定义所有项目的外观。不过,这有点复杂,而且可能只是为了使一件物品变红而矫枉过正。
我建议浏览一下源代码:
https://github.com/vuetifyjs/vuetify/blob/master/packages/vuetify/src/components/VSelect/VSelect.ts
不管你是否了解所有这些,你仍然可以对组件如何组合在一起以及它如何构建菜单有所了解。
推荐阅读
- qemu - 如何创建一个新的系统或电路板来被 QEMU 模拟
- python - 奇怪的`ArviZ`安装问题
- postgresql - Postgres加入不区分大小写的文本字段
- window-functions - 执行 SUM() 时如何关联相同的代码?
- jquery - JQuery - 查找和替换文本
- reactjs - React-native-paper,IconButton。如何在 IOS 和 Android 中制作按钮背景颜色?
- python - 在python中使用for循环将数据框的值插入到类属性中
- node.js - Nginx 不会将流量路由到 AWS ElasticBeanstalk 中的 Node js 服务器
- flutter - 颤振:shared_preferences 问题:找不到文件
- acumatica - 如何为帐户详细信息屏幕创建业务事件