Vue中el-dialog的open方法不执行

最近遇到了一种写法:
子组件是一个el-dialog,向子组件同时传v-if 和visible,且v-if和visible是同一个值,当v-if和visible同时为true的时候,子组件dialog中不会调用@open方法.

原因:

时机问题:

Vue 的更新是异步的,当 v-if 和 visible 同时从 false 变为 true 时:

  1. v-if 先使组件创建和挂载
  2. visible 属性随后传递
  3. el-dialog 在初始化时如果 visible 已经是 true,可能不会触发 open 事件

结论:不能同时使用v-if和visible

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容