diff --git a/frontend/src/components/widget/deWidget/DeTabs.vue b/frontend/src/components/widget/deWidget/DeTabs.vue index 2f28c3a9f1..c4c2ad52a3 100644 --- a/frontend/src/components/widget/deWidget/DeTabs.vue +++ b/frontend/src/components/widget/deWidget/DeTabs.vue @@ -464,15 +464,20 @@ export default { } }, initCarousel() { - this.timer && clearInterval(this.timer) - if (this.element.style.carouselEnable) { - const switchTime = (this.element.style.switchTime || 5) * 1000 + const _this = this + _this.timer && clearInterval(_this.timer) + if (_this.element.style.carouselEnable) { + const switchTime = (_this.element.style.switchTime || 5) * 1000 let switchCount = 1 // 轮播定时器 - this.timer = setInterval(() => { - const nowIndex = switchCount % this.element.options.tabList.length + _this.timer = setInterval(() => { + const nowIndex = switchCount % _this.element.options.tabList.length switchCount++ - this.activeTabName = this.element.options.tabList[nowIndex].name + _this.activeTabName = _this.element.options.tabList[nowIndex].name + const targetRef = _this.$refs['canvasTabRef-' + _this.activeTabName] + if (targetRef) { + targetRef[0].restore() + } }, switchTime) } },