#vue.js #hover #vuetify.js #mouse
#vue.js #наведите #vuetify.js #мышь
Вопрос:
<template>
<v-hover v-slot:default="{ hover }">
<div class="img-card">
<div class="img-wrapper">
<img :src="url" alt="image of gallery" />
<transition name="fade">
<div class="cover" :class="{ 'cover-active': hover }">
<v-menu offset-y>
<template v-slot:activator="{ on, attrs }">
<v-text-field
v-bind="attrs"
v-on="on"
solo
append-icon="mdi-chevron-down"
label="Regular"
class="menu"
></v-text-field>
</template>
<v-list>
<v-list-item v-for="(item, index) in items" :key="index">
<v-list-item-title>{{ item.title }}</v-list-item-title>
</v-list-item>
</v-list>
</v-menu>
<div class="under-wrapper">
<v-btn fab small color="#fff">
<v-icon>mdi-upload</v-icon>
</v-btn>
<v-btn fab small color="#fff">
<v-icon>mdi-dots-horizontal</v-icon>
</v-btn>
</div>
</div>
</transition>
</div>
<p>{{ author }}</p>
</div>
</v-hover>
</template>
<script>
export default {
name: 'ImgCard',
props: ['url', 'author'],
data() {
return {
items: [
{ title: 'Click Me' },
{ title: 'Click Me' },
{ title: 'Click Me' },
{ title: 'Click Me 2' },
],
};
},
methods: {},
};
</script>
<style lang="scss" scoped>
.img-card {
}
.img-wrapper {
position: relative;
border-radius: 16px;
overflow: hidden;
}
.cover {
display: none;
background: rgba($color: #222, $alpha: 0.3);
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
padding: 16px;
}
.cover-active {
display: block;
}
.menu {
width: 100%;
border-radius: 12px;
}
img {
display: block;
}
p {
font-weight: bold;
}
//animation
.fade-enter-active,
.fade-leave-active {
transition: opcity 0.3s;
}
.fade-enter,
.fade-leave-to {
opacity: 0;
}
</style>
Я хотел бы создать один компонент, подобный imagee card pinterest
, используя Vue, Vuetify, v-menu, v-hover, mouseevnet
Я думал, что это сработает, но это несколько двусмысленно. ‘v-menu__content’ отображается вне элемента и добавляет событие мыши, после чего оно работает странно.
Если я добавлю функцию в ‘img-card’ и попробую навести курсор мыши на выпадающее меню, оно исчезнет .. потому что выпадающее меню находится за пределами ‘img-card’ Или оно включается и выключается неоднократно.
Я хочу исправить неестественные вещи. Должен ли я просто отказаться от использования ‘v-menu’? -_-
Если в моем вопросе не хватает контента, пожалуйста, дайте мне знать.
Ответ №1:
может быть, это помогает
эта всплывающая подсказка появляется при наведении курсора мыши на
<v-tooltip top max-width="500">
<template v-slot:activator="{ on }">
<v-icon v-on="on">info_outlined</v-icon>
</template>
<span>
EXAMPLE TEXT
</span>
</v-tooltip>