From a46c511f1f7f99554536220dff7c00d7b13ab318 Mon Sep 17 00:00:00 2001 From: LiuHao <liuhaoai545@gmail.com> Date: 星期日, 18 六月 2023 22:31:35 +0800 Subject: [PATCH] add 新增ElScrollbarInstance --- src/layout/components/TagsView/ScrollPane.vue | 13 ++++++------- 1 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/layout/components/TagsView/ScrollPane.vue b/src/layout/components/TagsView/ScrollPane.vue index 64d9fdb..949e096 100644 --- a/src/layout/components/TagsView/ScrollPane.vue +++ b/src/layout/components/TagsView/ScrollPane.vue @@ -6,22 +6,21 @@ <script setup lang="ts"> import useTagsViewStore from '@/store/modules/tagsView' -import { ElScrollbar } from 'element-plus'; import { TagView } from 'vue-router' const tagAndTagSpacing = ref(4); -const scrollContainerRef = ref(ElScrollbar) -const scrollWrapper = computed(() => scrollContainerRef.value.$refs.wrapRef); +const scrollContainerRef = ref<ElScrollbarInstance>() +const scrollWrapper = computed(() => scrollContainerRef.value?.$refs.wrapRef as any); onMounted(() => { - scrollWrapper.value.addEventListener('scroll', emitScroll, true) + scrollWrapper.value?.addEventListener('scroll', emitScroll, true) }) onBeforeUnmount(() => { - scrollWrapper.value.removeEventListener('scroll', emitScroll) + scrollWrapper.value?.removeEventListener('scroll', emitScroll) }) const handleScroll = (e: WheelEvent) => { - const eventDelta = (e as any).wheelDelta || -e.deltaY * 40 + const eventDelta = (e as any).wheelDelta || - e.deltaY * 40 const $scrollWrapper = scrollWrapper.value; $scrollWrapper.scrollLeft = $scrollWrapper.scrollLeft + eventDelta / 4 } @@ -34,7 +33,7 @@ const visitedViews = computed(() => tagsViewStore.visitedViews); const moveToTarget = (currentTag: TagView) => { - const $container = scrollContainerRef.value.$el + const $container = scrollContainerRef.value?.$el const $containerWidth = $container.offsetWidth const $scrollWrapper = scrollWrapper.value; -- Gitblit v1.9.3