JavaScript 如何在点击显示菜单时一次只显示一个V-Menu
本文将介绍如何在点击显示菜单时一次只显示一个V-Menu,让我们深入了解V-Menu的相关知识。
我们使用的是定制版本的NativeUI来创建服务器端的训练器和菜单,即vMenu。它具备完整的权限支持,允许服务器所有者对谁可以做什么进行控制。
显示V-Menu
用户界面的菜单是一个灵活的元素。它显示一个弹出框,有很多用途,比如呈现一个选择菜单。它们可以与按钮、工具栏或应用栏结合使用。
为了更好地理解如何在点击显示菜单时只显示一个V-Menu,让我们看下面的示例。
示例
考虑下面的示例,在一个网页上点击显示菜单时只显示一个V-Menu。
<!DOCTYPE html>
<html>
<body>
<script src="https://unpkg.com/babel-polyfill/dist/polyfill.min.js"></script>
<script src="https://unpkg.com/vue@2.x/dist/vue.js"></script>
<script src="https://unpkg.com/vuetify@2.6.9/dist/vuetify.min.js"></script>
<div id="tutorial">
<v-app>
<div>
<v-menu :open-on-hover="true" :open-on-click="true" v-for="(user, index) in userInfo" nudge-top="50px" :key="index" v-model="show[index]" top>
<template v-slot:activator="{ on, attrs }">
<v-avatar v-on="on" size="24" color="blue">
<span>{{user.name}}</span>
</v-avatar>
</template>
<span>{{user.favoritecar}}
<span>
</v-menu>
<v-btn @click="showTooltip">Button</v-btn>
</v-app>
</div>
<script>
new Vue({
el: "#tutorial",
vuetify: new Vuetify(),
data() {
return {
userInfo: [{
id: 1,
name: "x",
favoritecar: "RX100"
}, {
id: 2,
name: "y",
favoritecar: "DUCATI"
}, {
id: 3,
name: "z",
favoritecar: "RANGEROVER"
}],
show: [false, false, false, false]
};
},
methods: {
showTooltip() {
console.log("Open tooltip");
Vue.set(this.show, 2, true);
}
}
});
</script>
</body>
</html>
在运行上述脚本时,输出窗口将弹出,在网页上显示列表选项以及一个点击按钮。当用户点击按钮时,它将在网页上显示列表的三个项目。 示例 在下面的示例中,我们运行脚本以在网页上点击按钮时显示一个v-menu。
<!DOCTYPE html>
<html>
<body>
<script src="https://cdn.jsdelivr.net/npm/vue@2.x/dist/vue.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vuetify@2.x/dist/vuetify.js"></script>
<link href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/@mdi/font@4.x/css/materialdesignicons.min.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/vuetify@2.x/dist/vuetify.min.css" rel="stylesheet">
<div id="tutorial">
<v-app>
<div>
<v-menu>
<template v-slot:activator="{ on }">
<v-btn v-on="on">Select</v-btn>
</template>
<transition-group tag="items" name="fade">
<v-list-item v-if="!t" @click="t=!t" key="1">
<v-list-item-title>MSD</v-list-item-title>
</v-list-item>
<v-list-item v-else @click="t=!t" key="2">
<v-list-item-title>VIRAT</v-list-item-title>
</v-list-item>
</transition-group>
</v-menu>
</div>
</v-app>
</div>
<script>
new Vue({
el: '#tutorial',
vuetify: new Vuetify(),
data: () => ({
t: true
})
})
</script>
</body>
</html>
当脚本被执行时,它会在网页上生成一个由点击按钮组成的输出。当用户点击按钮时,它将显示第一个关键字的v菜单,如果用户再次点击按钮,它将显示第二个关键字的v菜单。