vuejs / vuetify:手动关闭对话框的生成列表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vuejs / vuetify:手动关闭对话框的生成列表相关的知识,希望对你有一定的参考价值。

我有一个像这样的标签和vue-color(compact-picker)列表

Result 1

<v-list>
    <v-list-tile
            v-for="sport in filterSports(conso.sports)"
            :key="sport.number"
            @click="sportSelected(sport.number)"
            :class="{'d-none': displaySport(sport)}">
        <v-list-tile-action>
            <v-dialog width="300">
                <v-btn
                        flat
                        slot="activator"
                        color="grey">
                    <v-icon
                            :color="findIconColor(sport.number).color">lens
                    </v-icon>
                </v-btn>
                <v-card>
                    <v-card-title
                            class="subheading grey lighten-2"
                            primary-title>
                        Color picker
                    </v-card-title>
                    <v-card-text>
                        <compact-picker v-model="colors"
                                        @input="setDepColor($event, sport.number)"></compact-picker>
                    </v-card-text>
                    <v-card-actions>
                        <v-layout
                                align-center
                                justify-end>
                            <v-btn @click="closeDialog">
                                <v-icon class="mr-1">done</v-icon>
                            </v-btn>
                        </v-layout>
                    </v-card-actions>
                </v-card>
            </v-dialog>

        </v-list-tile-action>
        <v-list-tile-content
                :class="{ 'grey--text': isSelected(sport)}">
            {{sport.label}}.
        </v-list-tile-content>

    </v-list-tile>
</v-list>

如何用@click=closeDialog点击btn关闭“this”对话框?

当我在对话框外单击时,此对话框将单独关闭。

我尝试使用v-model,但是当我点击图标打开对话框时,vue打开所有对话框而不是...

答案

您可能正在为所有v-dialog使用相同的变量,这就是为什么它们都是同时启动的原因。

每个都需要var

<v-dialog width="300" v-model="sport.show">

然后在关闭按钮上

<v-btn @click="sport.show = false">

以上是关于vuejs / vuetify:手动关闭对话框的生成列表的主要内容,如果未能解决你的问题,请参考以下文章

关闭依赖于 Vuetify 中存储的数据的对话框

重置 Vuetify 表单验证

使用 v-slot:activator 时关闭自定义组件中的 Vuetify v-dialog

获取导入错误 vuejs + jest + Vuetify

两个 shallowmount 抛出错误 Jest VueJs(Vuetify)

如何在带有 vuetify 和 vuex 的 Vuejs 项目中使用 Jest?节点模块和 Vuetify 问题