vue3 el-dialog中的地图无法加载 的解决
·
因为el-dialog默认是懒加载的,地图容器在对话框显示前可能不存在。解决方案是在对话框打开时初始化地图:
在el-dialog上添加 @open="handleDialogOpen" 事件


代码:
handleDialogOpen() {
this.$nextTick(() => {
if (!this.mapRef) {
this.initMap();
}
});
},
initMap() {
console.log('initMap 方法被调用');
try {
const map = new window.AMap.Map('map-container', {
zoom: 11,
center: [121.4737, 31.2304],
viewMode: '2D',
});
console.log('地图实例创建成功');
this.mapRef = map;
map.on('complete', () => {
console.log('地图资源加载完成');
});
} catch (error) {
console.error('地图初始化失败:', error);
this.errorMessage = '地图加载失败,请刷新页面重试';
}
}
,
html部分:

最终展示:

更多推荐


所有评论(0)