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

Navbar主题切换异常:点击深色模式按钮后主题自动恢复

问题出在主题切换按钮被包裹在<form>标签内,点击按钮时会触发表单的默认提交行为,导致页面刷新,Vue实例重新初始化,theme状态被重置为初始的light,所以主题仅切换1秒就恢复原样。

修复方案(二选一即可)

方案1:阻止按钮的默认提交行为

给按钮的click事件添加.prevent修饰符,拦截表单提交的默认行为:

<form action="" class="d-flex">
    <button class="btn btn-primary" v-on:click.prevent="changeTheme()">dark mode</button>
</form>

方案2:移除不必要的<form>标签

此处仅需一个功能按钮,无需表单提交功能,直接删除<form>标签,改用普通容器包裹按钮:

<div class="d-flex">
    <button class="btn btn-primary" v-on:click="changeTheme()">dark mode</button>
</div>

效果验证

修改后点击按钮,页面不会刷新,theme状态会正常切换并保留,Navbar主题将稳定保持为切换后的模式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 09:37:22