刘洋 1 년 전
부모
커밋
9487b2476f
1개의 변경된 파일18개의 추가작업 그리고 0개의 파일을 삭제
  1. 18 0
      src/hooks/useTableCheck.ts

+ 18 - 0
src/hooks/useTableCheck.ts

@@ -89,6 +89,24 @@ const useTableCheck = <T extends TableDataType<InputDataType>>(data: T, auto = t
         nextTick(() => {
           elTableRef?.value?.setCurrentRow(tableData.value[positionIndex])
         })
+        //设置了高亮的行号后,还需要让表格的dom滚动到该处
+        const tBodyDomWrap: any = elTableRef?.value?.$refs.bodyWrapper
+        if (tBodyDomWrap) {
+          const index = positionIndex
+          if (index % tableData.value.length == 0) {
+            elTableRef?.value?.scrollTo({ left: 0, top: 0, behavior: 'smooth' })
+          } else {
+            const wrap = tBodyDomWrap.getElementsByClassName('el-scrollbar__wrap')[0]
+            const oHeight = wrap.offsetHeight
+            const sTop = wrap.scrollTop
+            const sHeight = wrap.scrollHeight
+            const targetRowAsHeight = 36 * ((current.value?.index || 0) + 1)
+            if (sHeight > oHeight && targetRowAsHeight - sTop > oHeight) {
+              const t = sHeight - targetRowAsHeight
+              elTableRef?.value?.scrollTo({ left: 0, top: sTop + 36, behavior: 'smooth' })
+            }
+          }
+        }
       }
     },
     { immediate: true }