You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

点击v-checkbox时如何禁止触发v-list-group的展开收起?

解决方案

这个问题是点击事件冒泡导致的:v-list-group的activator插槽默认绑定了点击事件用于控制展开/收起,点击内部的v-checkbox时,点击事件会向上冒泡到activator元素,触发展开/收起逻辑,只要阻止事件冒泡即可解决。

方法1:给v-checkbox的click事件添加.stop修饰符(最简方案)

直接修改checkbox的点击事件写法,.stop是Vue的事件修饰符,专门用来阻止事件向上冒泡:

<v-list>
    <v-list-group>
        <template v-slot:activator>
            <v-list-item-action>
                <!-- 加.stop阻止事件冒泡 -->
                <v-checkbox @click.stop="fn()"/>
            </v-list-item-action>
            <v-list-item-content>
                <v-list-item-title/>
            </v-list-item-content>
        </template>
        ...
    </v-list-group>
</v-list>

修改后点击checkbox只会触发你绑定的fn()方法和checkbox自身的选中状态切换,不会触发v-list-group的展开/收起。

特殊场景补充

如果你的项目用的是Vuetify 2.x早期版本,上述写法不生效的话,可以再加.native修饰符,强制绑定原生点击事件:

<v-checkbox @click.native.stop="fn()"/>

内容的提问来源于stack exchange,提问作者Yonier

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 19:45:10