點選顯示選單時,如何一次只顯示一個 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-menu,如果使用者再次點選按鈕,它將顯示第二個鍵的 v-menu。

更新於:2023年4月21日

850 次瀏覽

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.