import { ReactComponentProps } from '../../types/Page'; import { ED } from '../../types/AbstractComponent'; export default OakComponent({ entity() { return this.props.entity!; }, properties: { entity: '', }, isList: true, lifetimes: { ready() { const { oakPagination } = this.state; const { total } = oakPagination || {}; if (total) { this.setState({ newTotal: total }); } }, }, listeners: { oakPagination(prev, next) { if ( !prev.oakPagination && prev.oakPagination !== next.oakPagination ) { const { total, pageSize, currentPage, more } = next.oakPagination || {}; if (total) { this.setState({ newTotal: total }); } } }, }, methods: { async setTotal() { const { oakPagination, newTotal } = this.state; const { pageSize, total, currentPage, more } = oakPagination || {}; if (total && pageSize) { if (Math.ceil(newTotal / pageSize) === currentPage) { console.log(newTotal + pageSize); this.setState({ newTotal: newTotal + pageSize }); } } }, }, }) as ( props: ReactComponentProps< ED2, T2, false, { entity: T2; style?: React.CSSProperties; className?: string; showQuickJumper?: boolean; size?: 'default' | 'small'; showSizeChanger?: boolean; showTotal?: ( total: number, range: [number, number] ) => React.ReactNode; } > ) => React.ReactElement;