实现效果:
问题:切换上面基地tab键,导致地图图标展示不完全;刷新页面就可以正常展示。判断是<bm-marker>标记元素没有动态刷新dom元素引起的问题。
方案:this.$nextTick({})
this.$nextTick(()=>{this.equipmentList.forEach(item => {if (item.category === index && item.point) {var obj = {position: {lng: item.point.split(",")[0],lat: item.point.split(",")[1]},icon: {url: iconPath,size: { width: 33, height: 33 },opts: {imageSize: { width: 33, height: 33 }}}};this.markerList.push(obj);}});console.log(this.markerList, "当前设备的标注点列表"); })
上面代码功能是每次切换右侧设备列表获取新的地图标注点,将获取markerList的代码放在this.$nextTick({})里面即可。