Commit 99d62ef9180f29a58b65412a039237eff7f420d3

Authored by fengwotao
1 parent de8cdf9d

perf(src/packages): 优化多个摄像头鼠标移入显示移除隐藏

1 1 <template>
2   - <div class="banner-box" ref="root">
  2 + <div
  3 + @mouseenter="handleMouseenter"
  4 + @mouseleave="handleMouseleave"
  5 + class="banner-box" ref="root">
3 6 <div class="wrapper">
4 7 <div v-for="(item, index) in option.dataset" :key="index + item" :class="item.className" :style="item.sty">
5 8 <CameraItem
... ... @@ -15,8 +18,8 @@
15 18 <span class="video-title">{{ item.name }}</span>
16 19 </div>
17 20 </div>
18   - <a href="javascript:;" class="left" @click="changeSlide('left')"></a>
19   - <a href="javascript:;" class="right" @click="changeSlide('right')"></a>
  21 + <a v-show="isShowSvg" href="javascript:;" class="left" @click="changeSlide('left')"></a>
  22 + <a v-show="isShowSvg" href="javascript:;" class="right" @click="changeSlide('right')"></a>
20 23 </div>
21 24 </template>
22 25 <script setup lang="ts" name="index">
... ... @@ -33,6 +36,8 @@ const props = defineProps({
33 36 }
34 37 })
35 38
  39 +const isShowSvg = ref(false)
  40 +
36 41 const { w, h } = toRefs(props.chartConfig.attr)
37 42
38 43 const option = shallowReactive({
... ... @@ -150,6 +155,12 @@ function changeVideo(dir: string) {
150 155 function changeSlide(dir: string) {
151 156 changeVideo(dir)
152 157 }
  158 +
  159 +const handleMouseenter = () => {
  160 + isShowSvg.value = true
  161 +}
  162 +
  163 +const handleMouseleave = () => (isShowSvg.value = false)
153 164 </script>
154 165
155 166 <style lang="scss" scoped>
... ...