gjj
2025-02-21 efe41f68868a8926dfc1a6851a492805b56786db
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<template>
  <span class="inline-flex justify-center items-center rounded-md h-[42px] space-x-1 bg-[hsla(0,0%,0%,0.9)] font-pingfang-regular">
    <span
      v-for="item in maps"
      :key="item.id"
      class="map flex items-center px-[16px] h-full rounded-md hover:bg-[#334CAF] hover:cursor-pointer"
      :class="{ activated: item.id === selected }"
      @click="onItemClick(item)"
    >
      {{ item.label }}
    </span>
  </span>
</template>
 
<script>
  export default {
    name: "SwitchMap",
    props: {
      mapType: {
        type: String,
        default: "pic",
      },
    },
    data() {
      return {
        selected: this.mapType,
        maps: [
          { id: "pic", label: "影像地图" },
          { id: "gis", label: "GIS地图" },
        ],
      };
    },
    methods: {
      onItemClick(item) {
        if (item.id === this.selected) return;
        this.selected = item.id;
        this.$emit("changeMap", item);
      },
    },
  };
</script>
<style>
  .map.activated {
    @apply bg-[#334CAF];
  }
</style>