Vue.js 没有项目时禁用v菜单
我有一个vuetify v菜单,带有条件项:Vue.js 没有项目时禁用v菜单,vue.js,vuetify.js,Vue.js,Vuetify.js,我有一个vuetify v菜单,带有条件项: <v-menu min-width="225"> <template v-slot:activator="scope"> <v-btn small text color="primary
<v-menu min-width="225">
<template v-slot:activator="scope">
<v-btn small text color="primary" v-on="scope.on" :loading="actionLoading">
<v-icon>mdi-dots-vertical</v-icon>
</v-btn>
</template>
<v-list dense>
<v-list-item-group color="primary">
<v-list-item v-if="itemOneCondition()" @click="doSomething()">
<v-list-item-content>
<v-list-item-title>
Item 1
</v-list-item-title>
</v-list-item-content>
</v-list-item>
<v-list-item v-if="itemTwoCondition()" @click="something()">
<v-list-item-content>
<v-list-item-title>
Title 2
</v-list-item-title>
</v-list-item-content>
</v-list-item>
</v-list>
</v-list-item-group>
</v-menu>
垂直点
项目1
标题2
每一项都不可见(每一个v-if条件都为false)。所以菜单上没有任何项目
在此cas中,按钮仍处于活动状态,菜单打开时没有输入项:
有没有办法在看不到任何项目时禁用按钮?整个菜单都需要一个v-if条件,就像这样
<v-menu v-if="menuitems.length > 0" min-width="225"> </v-menu>
- {{item}
我使用了这个解决方案,通过添加一个isatleAstonItemDisplayed()
函数:
<v-menu v-if="isAtLeastOneItemDisplayed()" min-width="225">
<template v-slot:activator="scope">
<v-btn small text color="primary" v-on="scope.on" :loading="actionLoading">
<v-icon>mdi-dots-vertical</v-icon>
</v-btn>
</template>
<v-list dense>
<v-list-item-group color="primary">
<v-list-item v-if="itemOneCondition()" @click="doSomething()">
<v-list-item-content>
<v-list-item-title>
Item 1
</v-list-item-title>
</v-list-item-content>
</v-list-item>
<v-list-item v-if="itemTwoCondition()" @click="something()">
<v-list-item-content>
<v-list-item-title>
Title 2
</v-list-item-title>
</v-list-item-content>
</v-list-item>
</v-list>
</v-list-item-group>
</v-menu>
isAtLeastOneItemDisplayed : function(){
return this.itemOneCondition()
|| this.itemTwoCondition();
}
垂直点
项目1
标题2
IsAtleAstonItemDisplayed:函数(){
返回此.itemOneCondition()
||this.itemTwoCondition();
}
这不起作用,即使菜单中有一个项目,也不会显示菜单。如果您编辑了以上答案。。看看它现在是否解决了你的问题