问题
在Element UI的Dialog中使用vue-baidu-map,可能你会发现一个问题:
鼠标点击地图,生成(或移动)Marker,Marker的位置并不是鼠标位置,通常向左上方偏移。
原因
因为你的Dialog没有使用append-to-body
,所以DOM是放在书写位置的,尽管组件由于fixed的缘故,确实会全屏居中,但是组件的定位祖先并不是<body>,这时候,再加上vue-baidu-map捕获鼠标的点击位置的算法比较奇特,最后导致定位祖先与屏幕左上角差多少位移,则Marker会向左上角偏移多少位移。
解决
给Dialog加上append-to-body
,问题通常能解决。
网友评论