我正在尝试创建可重用的模式窗口,应该通过按下v-data-table行上的图标来调用该窗口。此外,每个图标在鼠标悬停时都应该有一个工具提示。
根据vuetify文档,这两个操作都使用了相同的结构:v-slot:activator="{ on }"和v-on="on"。问题是-在Vue/Vuetify中有没有一种方法来合并这个结构并获得所需的行为?
目前,我找到了一种方法,可以通过添加额外的<a>标签来获得我想要的东西:
<template>
<v-data-table :headers="headers" :items="tableItems">
<template v-slot:item="props">
<tr>
<td>{{ props.item.text }}</td>
<td>
<some-modal>
<template v-slot:activator="{ on }">
<a v-on="on">
<v-tooltip bottom>
<template v-slot:activator="{ on }">
<v-icon v-on="on" small class="mr-2">delete</v-icon>
</template>
<span>Tooltip message</span>
</v-tooltip>
</a>
</template>
</some-modal>
</td>
</tr>
</template>
</v-data-table>
</template>但是也许有什么方法可以合并v-slot:activator和v-on,而不需要额外的<a>标记呢?
发布于 2021-09-06 08:08:08
偶然发现了解决方案here,归功于@Yom T。
<v-menu>
<template #activator="{ on: onMenu }">
<v-btn v-on="onMenu">Menu Trigger</v-btn>
<v-tooltip bottom>
<template #activator="{ on: onTooltip }">
<v-btn v-on="{ ...onMenu, ...onTooltip }">Menu Trigger with Tooltip</v-btn>
</template>
<span>Tooltip Content</span>
</v-tooltip>
</template>
</v-menu>https://stackoverflow.com/questions/60809725
复制相似问题