vue.js - 是否可以在临时 v-navigation-drawer 下方订购 v-snackbar?
问题描述
我试图弄清楚如果导航抽屉设置了“临时”道具,是否可以将 v-navigation-drawer 放在 v-snackbar 上。通常,当 app 属性设置在snackbar 上时,snackbar 会尊重导航抽屉,但当抽屉具有临时属性时则不会。
我可以理解在某些时候这可能是一种预期的行为,但我想知道是否有可能以任何方式颠倒它们的顺序。
在上面的示例中,snackbar 已经完全覆盖了导航抽屉中的第一个选项,并使其无法访问,直到snackbar 超时或被关闭。
我尝试利用 v-snackbar 上的海拔道具和 v-navigation-drawer 上的海拔类,但这似乎对解决问题没有帮助。
这是一个显示问题的独立代码笔: Codepen
new Vue({
el: '#app',
data() {
return {
drawer: false,
snackbar: false
};
},
vuetify: new Vuetify(),
})
<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">
<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>
<div id="app">
<v-app>
<v-navigation-drawer temporary app v-model="drawer">
Hello I'm the Drawer
</v-navigation-drawer>
<v-app-bar app fixed>
<v-btn @click="drawer = !drawer; snackbar = true">
Trigger
</v-btn>
</v-app-bar>
<v-snackbar app top left v-model="snackbar">
I'm Blocking the Drawer
<template v-slot:action="{ attrs }">
<v-btn dark icon v-bind="attrs"
@click="snackbar = false">
<v-icon>mdi-close</v-icon>
</v-btn>
</template>
</v-snackbar>
</v-app>
</div>
解决方案
一个 hacky 解决方法是将z-index
抽屉的 设置为高于小吃店的 ( v-snackbar
has z-index: 1000
)。
<v-navigation-drawer temporary app :style="{ 'z-index': 2000 }">
new Vue({
el: '#app',
data() {
return {
drawer: false,
snackbar: false
};
},
vuetify: new Vuetify(),
})
<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">
<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>
<div id="app">
<v-app>
<v-navigation-drawer temporary app v-model="drawer" :style="{ 'z-index': 2000 }">
Hello I'm the Drawer
</v-navigation-drawer>
<v-app-bar app fixed>
<v-btn @click="drawer = !drawer; snackbar = true">
Trigger
</v-btn>
</v-app-bar>
<v-snackbar app top left v-model="snackbar">
I'm Not Blocking the Drawer
<template v-slot:action="{ attrs }">
<v-btn dark icon v-bind="attrs"
@click="snackbar = false">
<v-icon>mdi-close</v-icon>
</v-btn>
</template>
</v-snackbar>
</v-app>
</div>
推荐阅读
- phonegap-build - PhoneGap 脚本在移动构建中不起作用
- node.js - 有没有办法启动终端窗口(或 Windows 上的 cmd)并传递/运行命令?
- javascript - Wordpress onclicking 菜单项,它应该重定向到目标 div
- xquery - XQuery 进程:execute 如何执行外部程序?
- google-maps - 在谷歌地图上绘制多边形
- autodesk-forge - 监控桶中文件提取作业的进度?
- sql-server - 不显示来自游标内动态 SQL 的选择结果
- ios - TapGesture 在 tabBar 下不起作用
- angular - angula 5材料奇偶列表按类别识别
- python - 熊猫数据框检查字符串是否不在要附加的列中