| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- import { createVNode as _createVNode } from "vue";
- import PropTypes from '../_util/vue-types';
- import classNames from '../_util/classNames';
- import { defineComponent } from 'vue';
- export default defineComponent({
- compatConfig: {
- MODE: 3
- },
- name: 'Pager',
- inheritAttrs: false,
- props: {
- rootPrefixCls: String,
- page: Number,
- active: {
- type: Boolean,
- default: undefined
- },
- last: {
- type: Boolean,
- default: undefined
- },
- locale: PropTypes.object,
- showTitle: {
- type: Boolean,
- default: undefined
- },
- itemRender: {
- type: Function,
- default: () => {}
- },
- onClick: {
- type: Function
- },
- onKeypress: {
- type: Function
- }
- },
- eimt: ['click', 'keypress'],
- setup(props, _ref) {
- let {
- emit,
- attrs
- } = _ref;
- const handleClick = () => {
- emit('click', props.page);
- };
- const handleKeyPress = event => {
- emit('keypress', event, handleClick, props.page);
- };
- return () => {
- const {
- showTitle,
- page,
- itemRender
- } = props;
- const {
- class: _cls,
- style
- } = attrs;
- const prefixCls = `${props.rootPrefixCls}-item`;
- const cls = classNames(prefixCls, `${prefixCls}-${props.page}`, {
- [`${prefixCls}-active`]: props.active,
- [`${prefixCls}-disabled`]: !props.page
- }, _cls);
- return _createVNode("li", {
- "onClick": handleClick,
- "onKeypress": handleKeyPress,
- "title": showTitle ? String(page) : null,
- "tabindex": "0",
- "class": cls,
- "style": style
- }, [itemRender({
- page,
- type: 'page',
- originalElement: _createVNode("a", {
- "rel": "nofollow"
- }, [page])
- })]);
- };
- }
- });
|