vue.js - 子对话框打开时关闭 Vuetify 菜单
问题描述
我有一个 Vuetify 数据表,其中每一行都有一个菜单,其中包含许多打开对话框的选项。当对话框打开时,父 v-menu 保持打开状态,但我希望它关闭。
我已经寻找一种以编程方式关闭它的方法,并尝试了close-on-content-click道具,但是一旦发生菜单按钮单击事件,这似乎不起作用。
下面是我正在使用的 v-data-table 代码示例,在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>
我认为可能有一种方法可以引用每个菜单,但还没有成功。有没有人有任何想法?
解决方案
推荐阅读
- apache-flink - 为什么我的 Flink SQL 查询有非常不同的检查点大小?
- karate - 如何发送动态多部分数据请求
- php - Android WebView APP + Laravel “页面因不活动而过期”
- optaplanner - 是否可以将参数传递给 MoveIteratorFactory
- x-frame-options - 如果不使用 www,则 X-Frame-Options ALLOW-FROM 不起作用
- python - Pandas Dataframes 上的切片 [:] 行为不一致
- angular - mat-sidenav 最初打开时隐藏内容
- node.js - 从应用程序 nodejs 收到的不完整响应
- ios - Whatsapp 打开 url 代码在 ios 中打开 Boltt Health App 而不是 whatsapp
- java - 无法创建具有动态值的条件查询