使用 vue.components 时如何使用 v-item-group - Vuetify
Posted
技术标签:
【中文标题】使用 vue.components 时如何使用 v-item-group - Vuetify【英文标题】:How to use v-item-group when using vue.components - Vuetify 【发布时间】:2021-12-14 04:51:18 【问题描述】:我正在尝试使用Vuetify
创建一组可选项目。
然而,它不起作用,因为在模板中我使用了一个名为 fm-card 的 Vue.component。
当您使用Vue.component
时,您必须使用@click.native
而不是@click
。
<v-item-group active-class="primary">
<v-container>
<v-row justify="center">
<v-col
class="fm-card-container"
cols="2"
v-for="item in items"
v-bind:key="item.id"
>
<v-item v-slot=" active, toggle ">
<fm-card
@click.native="toggle;"
class="fm-card d-flex align-center"
:title="item.name"
:image="productImage(item.image)"
:imageHeight="95"
dark
:color="active ? 'primary' : ''"
>
`hola soy el $toggle`
<v-scroll-y-transition>
<div v-if="active" class="text-h2 flex-grow-1 text-center">
Active
</div>
</v-scroll-y-transition>
</fm-card>
</v-item>
</v-col>
</v-row>
</v-container>
</v-item-group>
我尝试过使用@click 和@click.native,但似乎什么都没有发生
【问题讨论】:
vuetifyjs.com/en/components/item-groups 【参考方案1】:首先,你为什么不把你的<fm-card>
作为一个“真正的”组件并在你的父组件中引用它并传递你在那里使用的所有values
?
这样
<fm-card :value1="value1" :value2="value2"/>
你可以把你的完整代码放在这个组件中 - 它让你的代码更清晰。
而且我认为您不再需要使用@click.native
...@click
应该足够了,但要检查您的toggle;
后面是否有分号 - 您必须删除它!
您可以像这样使用您的方法并使用您的点击事件:
methods:
toggle()
//your code in here
希望这对您有所帮助!请告诉我!
【讨论】:
以上是关于使用 vue.components 时如何使用 v-item-group - Vuetify的主要内容,如果未能解决你的问题,请参考以下文章
组件已注册但未使用 vue/no-unused-components
如何在 Vue SFC 中注册导入的组件以满足 eslint-plugin-vue vue/no-unregistered-components 规则?