我设法实现了一个全局的Vuetify Snackbar。
我的问题是检测小吃栏何时关闭。从1.2开始,我了解到该组件支持Vue过渡事件。但是它仅在输入事件上起作用,而对离开事件不起作用。
这里是fiddle,用于理解。
<transition @before-enter="beforeEnter" @before-leave="beforeLeave" @after-enter="afterEnter" @after-leave="afterLeave" @leave="leave">
<v-snackbar v-model="snackbar" top right>
Hello
<v-btn @click="snackbar = false" dark>Close</v-btn>
</v-snackbar>
</transition>
答案 0 :(得分:0)
我遇到了同样的问题并通过以下方式解决了
export default {
data: () => ({
errorMessage: '',
snackTimeout: 6000,
}),
watch: {
errorMessage() {
setTimeout(() => {
this.clearErrorMessage();
}, this.snackTimeout);
},
},
methods: {
setErrorMessage(message) {
this.snackMessage = message;
},
clearErrorMessage() {
this.snackMessage = '';
},
},
};
<template>
<v-snackbar
:value="errorMessage"
:timeout="snackTimeout"
top
>
{{ errorMessage }}
<v-btn
color="error"
flat
@click.stop="clearErrorMessage"
>
{{ 'close' }}
</v-btn>
</v-snackbar>
</template>