Commit 99d62ef9180f29a58b65412a039237eff7f420d3

Authored by fengwotao
1 parent de8cdf9d

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

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