Maison > Questions et réponses > le corps du texte
P粉7868001742023-08-27 00:44:36
Le rappel props
对象包含一个 onClick
est passé au slot, vous devez le lier pour que la sélection fonctionne :
<template #item="{ item, props: { onClick } }" > <v-list-item :title="item.title" @click="onClick"/> </template>
Documentation est un peu clairsemée pour le moment, le type donné est Record
。在 Vuetify 3.4 中,其他值是 key
、title
、value
和 ref
(référence du modèle sous-jacent) VVritualScroll est utilisé pour mettre à jour la hauteur de la barre de défilement.
Lors de l'utilisation d'un composant avec l'attribut title
(tel que VListItemtitle
属性的组件时(例如 VListItem),您可以绑定整个 props
), vous pouvez lier l'intégralité de l'objet props
:
<template #item="{ props }" > <v-list-item v-bind="props"/> </template>
(D'ailleurs, #item
插槽已将其内容渲染到 v-list
moyen, pas besoin de reconditionner)
Voici un extrait :
const { createApp, ref } = Vue; const { createVuetify } = Vuetify const vuetify = createVuetify() createApp({ setup(){ return { tag: ref(null), tags: [ { title: 'example1', value: 0 }, { title: 'example2', value: 1 }, ], } } }).use(vuetify).mount('#app')
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/vuetify@3.1.6/dist/vuetify.min.css" /> <link href="https://cdn.jsdelivr.net/npm/@mdi/font@5.x/css/materialdesignicons.min.css" rel="stylesheet"> <div id="app" class="d-flex justify-center"> <v-app> <div> <v-select style="width: 300px;" v-model="tag" :items="tags" variant="solo" label="Tags" > <template #item="{ item, props: {onClick, title, value} }" > <v-list-item :title="item.title" @click="onClick"/> </template> </v-select> Selected: {{tag}} </div> </v-app> </div> <script src="https://unpkg.com/vue@3/dist/vue.global.prod.js"></script> <script src="https://cdn.jsdelivr.net/npm/vuetify@3.1.6/dist/vuetify.min.js"></script>