子对话框打开时关闭Vuetify菜单

时间:2020-04-28 09:17:27

标签: vue.js vuetify.js

我有一个Vuetify数据表,其中每一行都有一个菜单,该菜单包含许多打开对话框的选项。对话框打开时,父级v菜单保持打开状态,但我想关闭它。

我一直在寻找一种以编程方式关闭此菜单的方法,并尝试了 close-on-content-click 道具,但是一旦发生菜单按钮click事件,这种方法似乎就不起作用了。

下面是我正在使用的v数据表代码的示例,并在https://codesandbox.io/s/vuetify-data-table-filtering-fzyxf进行了现场演示

<template>
  <!-- data table -->
  <v-data-table :headers="headers" :items="desserts" item-key="name" class="elevation-1 pa-6">
    <!-- row name slot -->
    <template v-slot:item.name="{item}">{{item.name}}</template>

    <!-- row actions slot -->
    <template v-slot:item.actions="{item}">
      <!-- row menu -->
      <v-menu>
        <template v-slot:activator="{ on }">
          <v-btn text v-on="on">open menu</v-btn>
        </template>

        <!-- menu items -->
        <v-list>
          <!-- menu item 1 -->
          <v-list-item>
            <template>
              <div>
                <!-- dialog for menu item 1 -->
                <v-dialog v-model="menu1">
                  <template v-slot:activator="{on}">
                    <v-btn text v-on="on">action 1</v-btn>
                  </template>

                  <v-card>
                    <v-card-title>Action 1</v-card-title>
                  </v-card>
                </v-dialog>
              </div>
            </template>
          </v-list-item>

          <!-- menu item 2 -->
          <v-list-item>
            <template>
              <div>
                <!-- dialog for menu item 2 -->
                <v-dialog v-model="menu2">
                  <template v-slot:activator="{on}">
                    <v-btn text v-on="on">action 2</v-btn>
                  </template>

                  <v-card>
                    <v-card-title>Action 2</v-card-title>
                  </v-card>
                </v-dialog>
              </div>
            </template>
          </v-list-item>
        </v-list>
      </v-menu>
    </template>
  </v-data-table>
</template>

我认为可能有一种方法可以引用每个菜单,但尚未设法解决。有人有什么想法吗?

0 个答案:

没有答案