From 8dc8a2dc36453bfe0497cc341efcdc2aa0b36c8b Mon Sep 17 00:00:00 2001 From: wangxiang <1827945911@qq.com> Date: Mon, 10 Jul 2023 10:16:16 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=A4=A7=E5=B1=8F?= =?UTF-8?q?=E8=AE=BE=E8=AE=A1=E5=99=A8bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/echart/packages/table/index.vue | 50 ++++++++++--------- .../src/option/components/vue.vue | 2 +- .../src/page/list/components.vue | 2 +- 3 files changed, 28 insertions(+), 26 deletions(-) diff --git a/cloud/bigscreen-design/src/echart/packages/table/index.vue b/cloud/bigscreen-design/src/echart/packages/table/index.vue index 8bdb99f..2d55201 100644 --- a/cloud/bigscreen-design/src/echart/packages/table/index.vue +++ b/cloud/bigscreen-design/src/echart/packages/table/index.vue @@ -122,30 +122,32 @@ export default create({ }, this.getItemRefs()); }, setTime () { - clearInterval(this.scrollCheck); - this.headerHeight = this.$refs.table.$refs.headerWrapper ? parseInt(this.$refs.table.$refs.headerWrapper.clientHeight) : 0 - const table = this.$refs.table - const divData = table.$refs.bodyWrapper.querySelector('.el-scrollbar__wrap') - const speed = this.scrollSpeed - let top = 0 - if (this.scroll) { - this.scrollCheck = setInterval(() => { - top = top + speed - divData.scrollTop += speed; - if (divData.clientHeight + divData.scrollTop == divData.scrollHeight) { - divData.scrollTop = 0 - } - if (top >= this.cellHeight && this.scrollTime) { - divData.scrollTop = divData.scrollTop - (top - this.cellHeight) - clearInterval(this.scrollCheck); - setTimeout(() => { - this.setTime() - }, this.scrollTime) - } - }, 20) - } else { - divData.scrollTop = 0 - } + try { + clearInterval(this.scrollCheck) + this.headerHeight = this.$refs.table.$refs.headerWrapper ? parseInt(this.$refs.table.$refs.headerWrapper.clientHeight) : 0 + const table = this.$refs.table + const divData = table.$refs.bodyWrapper.querySelector('.el-scrollbar__wrap') + const speed = this.scrollSpeed + let top = 0 + if (this.scroll) { + this.scrollCheck = setInterval(() => { + top = top + speed + divData.scrollTop += speed + if (divData.clientHeight + divData.scrollTop == divData.scrollHeight) { + divData.scrollTop = 0 + } + if (top >= this.cellHeight && this.scrollTime) { + divData.scrollTop = divData.scrollTop - (top - this.cellHeight) + clearInterval(this.scrollCheck) + setTimeout(() => { + this.setTime() + }, this.scrollTime) + } + }, 20) + } else { + divData.scrollTop = 0 + } + } catch (e) {} }, cellStyle ({ row, column, rowIndex, columnIndex }) { return { diff --git a/cloud/bigscreen-design/src/option/components/vue.vue b/cloud/bigscreen-design/src/option/components/vue.vue index 858f130..40f49a9 100644 --- a/cloud/bigscreen-design/src/option/components/vue.vue +++ b/cloud/bigscreen-design/src/option/components/vue.vue @@ -83,4 +83,4 @@ export default { \ No newline at end of file + diff --git a/cloud/bigscreen-design/src/page/list/components.vue b/cloud/bigscreen-design/src/page/list/components.vue index a4e439a..c831ba3 100644 --- a/cloud/bigscreen-design/src/page/list/components.vue +++ b/cloud/bigscreen-design/src/page/list/components.vue @@ -7,7 +7,7 @@ @row-update="rowUpdate" @row-del="rowDel" :before-open="beforeOpen" - @selection-change="selectionChange" + @selection-change.stop="selectionChange" :data="data">