From cee557b14e84ae61b4d32fbd1a0aac9d8f4c5e7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=98=B1=E8=BE=BE?= Date: Mon, 21 Apr 2025 17:09:16 +0800 Subject: [PATCH] =?UTF-8?q?feat(RenderMinerU):=20=E5=AE=9E=E7=8E=B0?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E8=A7=86=E5=9B=BE=E6=BB=9A=E5=8A=A8=E5=90=8C?= =?UTF-8?q?=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加 handleScroll 方法处理滚动事件 - 在 created 钩子中注释掉设置滚动事件监听的代码 - 优化了代码视图滚动时的同步逻辑 --- src/components/RenderMinerU/index.vue | 28 +++++++++++++++++++++++++++ src/views/knowledge/detail/create.vue | 2 +- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/src/components/RenderMinerU/index.vue b/src/components/RenderMinerU/index.vue index 6a7f2eb..f2678d8 100644 --- a/src/components/RenderMinerU/index.vue +++ b/src/components/RenderMinerU/index.vue @@ -575,6 +575,31 @@ ${text}` .catch(() => { this.$message.error('重试操作失败') }) + }, + + // 处理滚动事件 + handleScroll() { + let viewBody = this.$refs.viewBody + let viewCodes = this.$refs.viewBody.querySelectorAll('view-code') + if (this.tab === '1') { + viewBody = this.$refs.mdEditor + viewCodes = this.$refs.mdEditor.querySelectorAll('ebiz-code') + } + const viewBodyTop = viewBody.scrollTop + const viewBodyHeight = viewBody.clientHeight + let currentPage = this.page + for (let i = 0; i < viewCodes.length; i++) { + const viewCode = viewCodes[i] + const viewCodeTop = viewCode.offsetTop + if (viewCodeTop >= viewBodyTop && viewCodeTop < viewBodyTop + viewBodyHeight / 2) { + currentPage = i + 1 + break + } + } + if (currentPage !== this.page) { + this.page = currentPage + this.sendMessageToIframe('setPage', currentPage) + } } }, created() {}, @@ -606,6 +631,9 @@ ${text}` }) this.generateTableButtons() + // + // this.$refs.viewBody.onscroll = this.handleScroll + // this.$refs.mdEditor.onscroll = this.handleScroll }, computed: {} } diff --git a/src/views/knowledge/detail/create.vue b/src/views/knowledge/detail/create.vue index fead0bf..783b5c2 100644 --- a/src/views/knowledge/detail/create.vue +++ b/src/views/knowledge/detail/create.vue @@ -52,7 +52,7 @@ export default { name: 'create', data() { return { - visible: true, + visible: false, active: 0, documentId: '1363864715567140864' }