shineout
Version:
Shein 前端组件库
76 lines (62 loc) • 2.17 kB
JavaScript
import _extends from "@babel/runtime/helpers/extends";
import _inheritsLoose from "@babel/runtime/helpers/inheritsLoose";
import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
import _defineProperty from "@babel/runtime/helpers/defineProperty";
import React, { PureComponent } from 'react';
import Pagination from './Pagination';
var DefaultValue = {
defaultCurrent: 1,
pageSize: 10,
total: 0
};
var default_1 =
/*#__PURE__*/
function (_PureComponent) {
_inheritsLoose(default_1, _PureComponent);
function default_1(props) {
var _this;
_this = _PureComponent.call(this, props) || this; // @ts-ignore
_this.state = {
current: props.current || props.defaultCurrent,
pageSize: props.pageSize
};
_this.handleChange = _this.handleChange.bind(_assertThisInitialized(_assertThisInitialized(_this)));
return _this;
}
var _proto = default_1.prototype;
_proto.componentDidUpdate = function componentDidUpdate(prevProps) {
if (prevProps.current !== this.props.current || prevProps.pageSize !== this.props.pageSize) {
// eslint-disable-next-line react/no-did-update-set-state
this.setState({
current: this.props.current,
pageSize: this.props.pageSize
});
}
};
_proto.handleChange = function handleChange(current, pageSize) {
if (pageSize === void 0) {
pageSize = this.state.pageSize;
}
var sizeChange = pageSize !== this.state.pageSize;
this.setState({
current: current,
pageSize: pageSize
});
if (this.props.onChange) {
this.props.onChange(current, pageSize, sizeChange);
}
};
_proto.render = function render() {
var current = this.props.current || this.state.current;
if (this.props.total < 0) return null;
return React.createElement(Pagination, _extends({}, this.props, {
current: current,
pageSize: this.state.pageSize,
onChange: this.handleChange
}));
};
return default_1;
}(PureComponent);
_defineProperty(default_1, "displayName", 'ShineoutPagination');
_defineProperty(default_1, "defaultProps", DefaultValue);
export { default_1 as default };