1. 问题描述

点击按钮,把 el-dialog 的 visible.sync 设为 true 弹出窗口时,不显示地图
在这里插入图片描述

2. 分析问题

  • 可能是没有设置高度(我这里设置了高度)

  • elementUI官网:

    Dialog 的内容是懒渲染的,即在第一次被打开之前,传入的默认 slot 不会被渲染到 DOM 上。因此,如果需要执行 DOM
    操作,或通过 ref 获取相应组件,请在 open 事件回调中进行。

    正如官方文档所说,Dialog 的内容,也就是 el-dialog__body 中的内容是懒加载的!

3. 解决方法

将元素放在 footer slot 中,dialog 组件中的 footer slot 是实时渲染的,放在其中的 dom 元素可以直接获取:

 <el-dialog :visible.sync="visible" @open="handleOpen" title="Hello world">
   <div slot="footer"><div id="hello"><p>Try Element</p></div></div>
 </el-dialog>

更多解决方法,可以参考这里

不忘初心

参考链接:
https://blog.csdn.net/antony1776/article/details/81987351
https://www.cnblogs.com/zhurong/p/12157542.html

Logo

前往低代码交流专区

更多推荐