首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >合并多个v-slot: vuetify模板中的激活器和v-on

合并多个v-slot: vuetify模板中的激活器和v-on
EN

Stack Overflow用户
提问于 2020-03-23 15:58:00
回答 1查看 442关注 0票数 2

我正在尝试创建可重用的模式窗口,应该通过按下v-data-table行上的图标来调用该窗口。此外,每个图标在鼠标悬停时都应该有一个工具提示。

根据vuetify文档,这两个操作都使用了相同的结构:v-slot:activator="{ on }"v-on="on"。问题是-在Vue/Vuetify中有没有一种方法来合并这个结构并获得所需的行为?

目前,我找到了一种方法,可以通过添加额外的<a>标签来获得我想要的东西:

代码语言:javascript
复制
<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:activatorv-on,而不需要额外的<a>标记呢?

Codesandbox with current behavior

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-06 08:08:08

偶然发现了解决方案here,归功于@Yom T。

代码语言:javascript
复制
<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>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60809725

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档