在 vuetify 中为 v-dialog 激活器使用自定义事件

Posted

技术标签:

【中文标题】在 vuetify 中为 v-dialog 激活器使用自定义事件【英文标题】:Using a custom event for a v-dialog activator in vuetify 【发布时间】:2021-02-01 08:38:39 【问题描述】:

我目前正在将 Vuetify 用于具有一系列 v-dialog 组件的应用程序。

我目前有:

                    <template v-if="topic">
                        <v-dialog v-model="removeTagDialogs[removeTagDialogs.indexOf(tag.id)]" v-for="(tag, iii) in topic.tags" :key="iii" persistent max->
                            <template v-slot:activator=" on, attrs ">
                                <v-chip close color="primary" text-color="white" class="mr-1" v-bind="attrs" v-on="on"> tag.name.en </v-chip>
                            </template>

                            <v-card>
                                <v-card-title class="error--text text-center">Remove Tag?</v-card-title>
                                <v-card-actions>
                                    <v-btn color="error" @click="removeTagDialogs[removeTagDialogs.indexOf(tag.id)] = false">Cancel <v-icon small color="white">mdi-cancel</v-icon></v-btn>
                                    <v-btn color="error" @click="removeTag(tag.id)">Remove <v-icon small color="white">mdi-delete</v-icon></v-btn>
                                </v-card-actions>
                            </v-card>
                        </v-dialog>
                    </template>

效果很好,但是只有当我点击徽章组件的主要部分而不是关闭图标时才会启用对话框。我需要将其更改为另一种方式,即按下关闭图标时打开对话框。

我尝试修改v-on 属性以直接使用click:close 事件但是它不起作用。

<v-chip close color="primary" text-color="white" class="mr-1" v-bind="attrs" v-on="click:close"> tag.name.en </v-chip>

如何修改它以打开click:close 事件的对话框?

【问题讨论】:

【参考方案1】:

尝试破坏 on 插槽属性,然后运行已破坏的 click 作为 click:close 事件的处理程序:

<template v-slot:activator=" on:  click , attrs ">
     <v-chip ... @click:close="click"> tag.name.en </v-chip>
</template>

灵感来自this answer

【讨论】:

那没有影响。

以上是关于在 vuetify 中为 v-dialog 激活器使用自定义事件的主要内容,如果未能解决你的问题,请参考以下文章

无法在 Windows 中为 android 模拟器连接 appium 检查器

如何在 Eclipse 中为 Appium Server 修复 URL 定义

我无法使用 Java 在 Appium 中为我制作滑动手势

如何在 Appium 中为 iOS 自动化启用和使用 WebView

Vuetify v-dialog - 动态宽度

如果激活了多个驱动程序,是不是可以使用 Selenium 和 Appium 打开活动驱动程序的 session_id?