dialog组件实际的生命周期 dialog组件与一些地图服务的冲突

26 阅读1分钟

一、结论

不废话直接先上结论 dialog触发的生命周期:

这个是我在dialog中的一个组件里写的

1706776272606.png

打开dialog:

1706776140545.png

关闭dialog:

1706776148121.png

可以看到dialog是点击关闭后先创建后销毁的逻辑 所以你的一些map组件初始化如果放在mounte函数或者create函数里会会遇到一些坐标位置偏移,或者初始化不成功等bug

二、解决方法

初始化写在@opened里

三、问题分析

找到elementui的源码看一下

1706773050066.png

可以看到

Snipaste_2024-02-01_15-39-54.png

Snipaste_2024-02-01_15-40-44.png

可以看到dialog的destroyOnClose销毁组件更新内容是使用key的值改变来销毁重建的