diff --git a/packages/design/src/Pagination.vue b/packages/design/src/Pagination.vue index 1c4e67bc..3d98dc45 100644 --- a/packages/design/src/Pagination.vue +++ b/packages/design/src/Pagination.vue @@ -27,10 +27,10 @@ const uiProps = computed(() => uiComponent.props(props)); const emit = defineEmits(['size-change', 'current-change']); -const handleSizeChange = (args: any[]) => { +const handleSizeChange = (...args: any[]) => { emit('size-change', ...args); }; -const handleCurrentChange = (args: any[]) => { +const handleCurrentChange = (...args: any[]) => { emit('current-change', ...args); }; diff --git a/packages/form/src/containers/Table.vue b/packages/form/src/containers/Table.vue index bb312ce1..813a97a6 100644 --- a/packages/form/src/containers/Table.vue +++ b/packages/form/src/containers/Table.vue @@ -7,7 +7,7 @@ v-if="model[modelName]" ref="tMagicTable" style="width: 100%" - :data="model[modelName]" + :data="data" :border="config.border" :max-height="config.maxHeight" :default-expand-all="true" @@ -143,7 +143,7 @@ 清空 -
+
props.name || props.config.name || ''); +const data = computed(() => + props.config.pagination + ? props.model[modelName.value].filter( + (item: any, index: number) => + index >= pagecontext.value * pagesize.value && index + 1 <= (pagecontext.value + 1) * pagesize.value, + ) + : props.model[modelName.value], +); + const sortChange = ({ prop, order }: SortProp) => { if (order === 'ascending') { props.model[modelName.value] = props.model[modelName.value].sort((a: any, b: any) => a[prop] - b[prop]); diff --git a/packages/form/src/schema.ts b/packages/form/src/schema.ts index ff8b8a65..16d516d3 100644 --- a/packages/form/src/schema.ts +++ b/packages/form/src/schema.ts @@ -610,6 +610,7 @@ export interface TableConfig extends FormItem { border?: boolean; /** 显示行号 */ showIndex?: boolean; + pagination?: boolean; enum?: any[]; /** 是否显示添加按钮 */ addable?: (mForm: FormState | undefined, data: any) => boolean | 'undefined' | boolean;