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

如何实现QDialog隐藏时保留组件、显示时重建组件?

解决方案

要实现「弹窗隐藏时仅隐藏容器、打开时创建新组件实例」的效果,你可以这样修改代码:

<q-dialog
  :visible="filterModal"
  position="left"
  full-height
  maximized
  @hide="filterModal = false"
>
  <object-mobile-filter v-if="filterModal" />
</q-dialog>

关键逻辑说明:

  • 替换v-model为:visible:q-dialog不会因filterModal为false被销毁,仅视觉上隐藏
  • 给<object-mobile-filter />添加v-if="filterModal":只有当filterModal为true时才创建新组件实例;filterModal变为false时组件销毁,但弹窗容器保留
  • @hide="filterModal = false"用于保留「点击弹窗外部自动关闭」的默认行为,确保关闭时同步更新状态并销毁组件

这样调整后,每次打开弹窗都会生成全新的<object-mobile-filter />实例,关闭时组件销毁但弹窗仅隐藏,完全匹配你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 03:45:35