Эх сурвалжийг харах

Merge pull request #61 from xiterjia/develop

fix: multiple requests when pageSize change and currentPage isn't 1
Archer 2 жил өмнө
parent
commit
51ea1b924b

+ 4 - 3
src/components/Table/src/Table.vue

@@ -53,7 +53,8 @@ export default defineComponent({
 
     // 注册
     onMounted(() => {
-      emit('register', unref(elTableRef)?.$parent, unref(elTableRef))
+      const tableRef = unref(elTableRef)
+      emit('register', tableRef?.$parent, elTableRef)
     })
 
     const pageSizeRef = ref(props.pageSize)
@@ -167,9 +168,9 @@ export default defineComponent({
     }
 
     const renderTableExpand = () => {
-      const { align, headerAlign } = unref(getProps)
+      const { align, headerAlign, expand } = unref(getProps)
       // 渲染展开行
-      return unref(getProps).expand ? (
+      return expand ? (
         <ElTableColumn type="expand" align={align} headerAlign={headerAlign}>
           {{
             // @ts-ignore

+ 7 - 2
src/hooks/web/useTable.ts

@@ -69,8 +69,13 @@ export const useTable = <T, K, L extends AxiosConfig = AxiosConfig>(
   watch(
     () => tableObject.pageSize,
     () => {
-      tableObject.currentPage = 1
-      methods.getList()
+      // 当前页不为1时,修改页数后会导致多次调用getList方法
+      if (tableObject.currentPage === 1) {
+        methods.getList()
+      } else {
+        tableObject.currentPage = 1
+        methods.getList()
+      }
     }
   )