Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vue.js 没有项目时禁用v菜单_Vue.js_Vuetify.js - Fatal编程技术网

Vue.js 没有项目时禁用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

我有一个vuetify v菜单,带有条件项:

                   <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();
}

这不起作用,即使菜单中有一个项目,也不会显示菜单。如果您编辑了以上答案。。看看它现在是否解决了你的问题