ZhangXianQiang
2024-03-15 9a5ad4f42f936fa5b36cd039a670d36e6f70a568
src/views/daoAnOffice/center/map.vue
@@ -42,7 +42,7 @@
</template>
<script setup>
import { onMounted, ref, getCurrentInstance } from 'vue';
import { onMounted, ref, getCurrentInstance, nextTick } from 'vue';
import AMapLoader from '@amap/amap-jsapi-loader';
import DialogType1 from './dialog/dialog-type1.vue';
@@ -202,7 +202,7 @@
// 过滤图列
const filterLegend = (item) => {
  const { icon, positions, type } = item;
  const dialog = dialogList.value[type].$refs.dialog;
  const dialog = dialogList.value[type]._.refs.dialog;
  const tempList = [];
  positions.map(position => {
    const markerIcon = createIcon(icon);
@@ -278,8 +278,9 @@
// 弹窗与组件映射
const mapComponentInstance = () => {
  legendList.value.map((item) => {
    dialogList.value[item.id] = ctx.$refs[`dtype${item.id}`];
  console.log(ctx);
  legendList.value.forEach((item) => {
    dialogList.value[item.id] = ctx._.refs[`dtype${item.id}`];
  })
}
@@ -356,7 +357,9 @@
      // 创建infowindow
      createInfoWindow();
      // 映射组件
      mapComponentInstance();
      nextTick(() => {
        mapComponentInstance();
      })
    })
    .catch((e) => {
      console.log(e);