yylib-quick-mobile
Version:
yylib-quick-mobile
48 lines • 1.61 kB
JavaScript
import React from 'react';
import './YYPagination.less';
import { Pagination, Icon } from 'antd-mobile';
import classnames from 'classnames';
import {isFunction} from '../../utils/FunctionUtil';
class YYPagination extends React.Component {
constructor(props) {
super(props)
this.state = {
};
}
onChange = (options) => {
if (isFunction(this.props.onChange)) {
this.props.onChange(options);
}
}
render () {
let {prevText, nextText, total, current, mode,simple, disabled,visible, ...restProps} = this.props;
let prevIcon = mode ==='icon'&&<Icon type="left" />;
let nextIcon = mode === 'icon'&&<Icon type="right" />;
let locale = {
prevText: (<span className="arrow-align">{prevIcon}{prevText?prevText:'上一步'}</span>),
nextText: (<span className="arrow-align">{nextText?nextText:'下一步'}{nextIcon}</span>)
};
let wrapClz = classnames('yy-pagination', (!visible&&'hidden'),this.props.className);
let iconwrapClz = classnames('yy-pagination custom-pagination-with-icon',(!visible&&'hidden'), this.props.className);
return (
<Pagination
{...restProps}
className={mode==='icon'?iconwrapClz:wrapClz}
total={total}
simple={simple}
current={this.state.current}
locale={this.props.locale||locale}
mode={mode}
onChange={this.onChange}
disabled={disabled}/>
);
}
}
YYPagination.defaultProps = {
current: 1,
mode: 'button',
total: 1,
visible: true,
simple: false
}
module.exports = YYPagination;