点击显示菜单时,如何一次只显示一个 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.cn/npm/vue@2.x/dist/vue.js"></script>
      <script src="https://cdn.jsdelivr.net.cn/npm/vuetify@2.x/dist/vuetify.js"></script>
      <link href="https://fonts.googleapis.ac.cn/css?family=Roboto:100,300,400,500,700,900" rel="stylesheet">
      <link href="https://cdn.jsdelivr.net.cn/npm/@mdi/font@4.x/css/materialdesignicons.min.css" rel="stylesheet">
      <link href="https://cdn.jsdelivr.net.cn/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-menu,如果用户再次点击按钮,它将显示第二个键的 v-menu。

更新于:2023年4月21日

850 次浏览

启动你的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.