|
@@ -1,4 +1,4 @@
|
|
|
-import { ref, computed, watch, nextTick, unref, onMounted, onBeforeUnmount } from 'vue'
|
|
|
+import { ref, computed, watch, nextTick, unref, onMounted, onBeforeUnmount, onDeactivated } from 'vue'
|
|
|
import { isDefine, toggleClass } from '@/utils/common'
|
|
|
import type { Ref, ShallowRef, UnwrapRef } from 'vue'
|
|
|
import type { InstanceTable } from 'global-type'
|
|
@@ -125,6 +125,7 @@ const useTableCheck = <T extends TableDataType<InputDataType>>(data: T, auto = t
|
|
|
//注意:这里只处理只使用了useTableCheck而未使用useTable的情况。另外一种情况在useTable里处理。避免重复
|
|
|
//只使用了useTableCheck,而未使用useTable的情况,基本上是pageSize传了99999这种情况,所以一页就是全部的数据,最后一行就是到底了
|
|
|
if (pageNumber.value * pageSize.value + 1 > totalCount.value) {
|
|
|
+ console.log('当前页已是最后一页: from useTableCheck')
|
|
|
ElMessage.warning('当前页已是最后一页')
|
|
|
} else {
|
|
|
//该情况应该不可能出现,因为只使用了useTableCheck而未使用useTable的情况,是只有一页的,即pageSize传的999999之类
|
|
@@ -132,6 +133,7 @@ const useTableCheck = <T extends TableDataType<InputDataType>>(data: T, auto = t
|
|
|
}
|
|
|
} else {
|
|
|
//在useTable里才能拿到分页相关信息,所以要对useTable进行通信,告诉它到了最后一行了,是否需要弹框诱导到下一页
|
|
|
+
|
|
|
bus.emit('atBottomRowFromUseTableCheck')
|
|
|
}
|
|
|
return
|
|
@@ -201,6 +203,9 @@ const useTableCheck = <T extends TableDataType<InputDataType>>(data: T, auto = t
|
|
|
onBeforeUnmount(() => {
|
|
|
document.removeEventListener('keydown', arrowDownToNextRow)
|
|
|
})
|
|
|
+ onDeactivated(() => {
|
|
|
+ document.removeEventListener('keydown', arrowDownToNextRow)
|
|
|
+ })
|
|
|
return {
|
|
|
tableRef,
|
|
|
elTableRef,
|