Я столкнулся с той же проблемой и решил так:
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>
- Определите атрибут с тайм-аутом, а другой - с сообщением, которое будет отображаться на панели закусок.
- Определите функцию для установки сообщения и другую для его очистки.
- Определите часы для текста сообщения и установите таймер с тем же тайм-аутом закусочной, чтобы очистить его.
- Снэк-бар появляется только тогда, когда сообщение не пустое.