【发布时间】:2022-07-16 12:19:03
【问题描述】:
我有一个自定义组件,它基本上是一个具有特定样式的 v-btn 组件。当我在基于显示断点的条件下在 v-menu 激活器中使用它时,自定义组件不会显示在屏幕上。但是如果我使用常规的 v-btn 按钮会根据显示断点正确显示。我在这里做错了什么?
https://codepen.io/jgunawan-dc/pen/XWzJqRy?editors=1010
<div id="app">
<v-app id="inspire">
<div class="text-center">
<v-menu offset-y>
<template v-slot:activator="{ on, attrs }">
<global-custom-button
v-if="$vuetify.breakpoint.mdAndDown"
v-bind="attrs"
v-on="on"
>
Show on medium and lower
</global-custom-button>
<v-btn v-else
color="primary"
dark
v-bind="attrs"
v-on="on"
>
Dropdown
</v-btn>
</template>
<v-list>
<v-list-item
v-for="(item, index) in items"
:key="index"
>
<v-list-item-title>{{ item.title }}</v-list-item-title>
</v-list-item>
</v-list>
</v-menu>
</div>
</v-app>
</div>
Vue.component('global-custom-button', {
template: '<v-btn outlined color="info" @click="$emit(\'click\', $event)"><slot></slot></v-btn>'
});
new Vue({
el: '#app',
vuetify: new Vuetify(),
data: () => ({
items: [
{ title: 'Click Me' },
{ title: 'Click Me' },
{ title: 'Click Me' },
{ title: 'Click Me 2' },
],
}),
})
【问题讨论】:
-
您能否澄清一下:您想了解如何解决此问题,还是了解为什么会发生?
-
@dreamwalker 都请
标签: javascript vue.js vue-component vuetify.js