UNPKG

yylib-quick-mobile

Version:

yylib-quick-mobile

48 lines 1.61 kB
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;