Обновленное перо с использованием большего количества CSS и без v-hover
: Codepen
(Первоначально я использовал v-hover, но для этого случая не нужен)
Codepen
Мы будем контролировать видимость, используя следующий класс CSS:
.hidden {
visibility: hidden;
}
кнопка меню скрыта, если:
а) мы находимся над родительским фрагментом или
б) при открытии соответствующего меню.
Итак, нам нужно настроить компонент элемента (плитки):
Установить контроль видимости меню:
data: () => ({
menu: false, // control button-menu state (opened / closed)
})
И наш шаблон начинается с компонента v-hover
, поэтому мы можем определить, когда наведем на него курсор мыши, и отреагировать на это событие:
<template>
<v-hover>
<v-list-tile slot-scope="{ hover }" @click="">
// ...
<v-menu v-model="menu" offset-y left >
<v-btn slot="activator"
:class="{hidden: !hover && !menu}"
>
:class="{hidden: !hover && !menu}"
- мы устанавливаем hidden
класс на кнопку, когда мы не наводим курсор на родительский тайл и когда соответствующее меню закрыто.