utils/toolUtils.ts(公共的方法)
import config from './config' //config.pageSize=20;
//其中length是调用接口获取的数据的长度
export function getTotal(length:number,page:number){
return length === 0
?
page * config.pageSize + length
:
(page-1)*config.pageSize + length +1
}
getTotal使用
import config from '@/utils/config'
import { getTotal } from '@/utils/toolUtils'
export default class Customer extends Component {
state={
list:[],
page:1,
total:0,
loading:false
};
componentDidMount(){
this.getCustomerList()
};
getCustomerList(){
this.setState({loading:true})
const {dispatch} = this.props;
if(dispatch){
dispatch({
type:'customer/getCustomerListEffect',
payload:{...this.state.listQuery,...{page:this.state.page}}
}).then(()=>{
const {customerList} = this.props;//获取数据
let total = getTotal(customerList.length,this.state.page);//获取总条数
this.setState({list:customerList,total});
this.setState({loading:false})
})
}
};
render(){
const {list,page,total,loading} = this.state;
let pagination:any={
pageSize:config.pageSize,
current:page,
total:total,
showSizeChanger:false
};
return(
<Table loading={loading}
rowKey={record=>record.id}
dataSource={list}
columns={this.columns}
pagination={pagination}
onChange={this.pageChange}
/>
)
};
pageChange =(pagination:any, filters:any, sorter:any)=>{
this.setState({page:pagination.current},
()=>{
this.getCustomerList()
});
}
}