Преглед изворни кода

fix(SMART-TABLE组件): 修复点击查询分组页数重置的问题

shizhongming пре 2 година
родитељ
комит
733fff4d49

+ 5 - 2
src/components/SmartTable/src/SmartTable.tsx

@@ -38,6 +38,7 @@ export default defineComponent({
     'proxy-delete',
     'add-edit-modal-show',
     'cell-click',
+    'page-change',
   ],
   setup(props, { emit, slots, attrs }) {
     const { t } = useI18n();
@@ -66,7 +67,8 @@ export default defineComponent({
       setPagination,
       getShowPagination,
       setShowPagination,
-    } = usePagination(getTableProps);
+      handlePageChange,
+    } = usePagination(getTableProps, emit);
 
     /**
      * vxe-table函数
@@ -74,7 +76,7 @@ export default defineComponent({
     const getTableInstance = () => unref(tableElRef);
     provide('getTableInstance', getTableInstance);
     const commitVxeProxy = (code, ...args) => getTableInstance()?.commitProxy(code, args);
-    const getCheckboxRecords = (isFull: boolean) =>
+    const getCheckboxRecords = (isFull?: boolean) =>
       getTableInstance()?.getCheckboxRecords(isFull) || [];
     const getRadioRecord = (isFull: boolean) => getTableInstance()?.getRadioRecord(isFull);
     const setRadioRow = (row: any) => getTableInstance()!.setRadioRow(row);
@@ -227,6 +229,7 @@ export default defineComponent({
         customConfig: unref(getCustomConfig),
         ...unref(getTableEvents),
         ...unref(computedTableClassStyle),
+        onPageChange: handlePageChange,
       };
     });
 

+ 11 - 1
src/components/SmartTable/src/hooks/usePagination.ts

@@ -11,7 +11,7 @@ import { VxeGridPropTypes } from 'vxe-table';
  * @author zhongming4762
  * @param propsRef
  */
-export const usePagination = (propsRef: ComputedRef<SmartTableProps>) => {
+export const usePagination = (propsRef: ComputedRef<SmartTableProps>, emit: Function) => {
   const configRef = ref<VxeGridPropTypes.PagerConfig>({});
   const show = ref(true);
 
@@ -53,6 +53,15 @@ export const usePagination = (propsRef: ComputedRef<SmartTableProps>) => {
     };
   };
 
+  const handlePageChange = (eventData) => {
+    const { pageSize, currentPage } = eventData;
+    setPagination({
+      pageSize,
+      currentPage,
+    });
+    emit('page-change', eventData);
+  };
+
   const getPagination = () => unref(getPaginationInfo);
 
   function getShowPagination() {
@@ -69,5 +78,6 @@ export const usePagination = (propsRef: ComputedRef<SmartTableProps>) => {
     getPagination,
     getShowPagination,
     setShowPagination,
+    handlePageChange,
   };
 };