Ant Design Vue教程

ant design vue Pagination 分页组件change showSizeChange事件

ant design vue Pagination 分页组件总共有两个事件,分别是切换页码change事件和更改每页显示多少条数据的showSizeChange事件。

change事件

页码改变时的回调事件,参数是改变后的页码及每页条数

// *********************** npm方式 *************************
<template>
 <a-locale-provider :locale="locale">
  <a-pagination  
   :pageSize="10" 
   v-model="current"
   :pageSizeOptions="pageSizeOptions"
   :showSizeChanger="true" 
   :total="60"
   @change="change"
    />
     </a-locale-provider>
</template> 
<script>
 import zhCN from 'ant-design-vue/lib/locale-provider/zh_CN';
  export default {
     data() {
                return {
                    locale: zhCN,//国际化 设置成中文 www.itxst.com
                    current: 2,
                    pageSizeOptions:['10', '50', '100'] ,//下拉选择每页显示多少条 
                };
    },
    methods: {
     //************** 页码改变时回调事件 *************
      change(current, pageSize) {
          //  current 改变后的页码,pageSize 每页显示条数
          console.log("log:",current, pageSize);
      },
    },
  };
</script>

// *********************** 浏览器方式 *************************
<div id="app">
    <a-pagination show-size-changer
                  :page-size.sync="pageSize"
                  @change="change" 
                  :total="500"
                  v-model="current"
                  :page-size-options="pageSizeOptions">
        <template slot="buildOptionText" slot-scope="props">
            <span v-if="props.value!=='100'">{{props.value}}台/页</span>
            <span v-if="props.value==='100'">全部数据</span>
        </template>
    </a-pagination>
</div>
<script>
      Vue.use(window['vue-dash-event']);
        var app = new Vue({
            el: '#app',
            data() {
                return {
             pageSizeOptions: ['30', '50', '100'],
             pageSize: 30,
             current: 4,
                };
            },
          watch: {
      pageSize(val) {
         console.log('pageSize', val);
      },
      current(val) {
        //console.log('current', val);
      },
    },
    methods: {
     //************** 页码改变时回调事件 *************
      change(current, pageSize) {
          //current 改变后的页码,pageSize 每页显示条数
          console.log("log:",current, pageSize);
      },
     },
        });
</script>

showSizeChange事件

// *********************** npm方式 *************************
<div id="app">
    <a-pagination show-size-changer
                  :page-size.sync="pageSize"
                  v-on:show-size-change="onShowSizeChange"
                  :total="500"
                  v-model="current"
                  :page-size-options="pageSizeOptions">
        <template slot="buildOptionText" slot-scope="props">
            <span v-if="props.value!=='100'">{{props.value}}台/页</span>
            <span v-if="props.value==='100'">全部数据</span>
        </template>
    </a-pagination>
</div>
<script>
    Vue.use(window['vue-dash-event']);
    var app = new Vue({
        el: '#app',
        data() {
            return {
                pageSizeOptions: ['30', '50', '100'],
                pageSize: 30,
                current: 4,
            };
        },
        methods: {
           //pageSize 变化的回调事件 current当前页码,pageSize每页显示条数
            onShowSizeChange(current, pageSize) { 
                console.log("onShowSizeChange", current, pageSize);
            },
        },
    });
</script>


例子

Catalog
快速入门 Dropdown 下拉菜单 Menu 导航菜单 Pagination 分页 Pagination 跳转 Pagination 自定义下拉选项 Pagination 选择每页数量 Pagination 自定义页码文字 Pagination 样式风格 Pagination 属性列表 Pagination 事件列表 Steps 步骤条 AutoComplete 自动填充 Cascader 级联选择 Checkbox 多选框 DatePicker 日期选择框 Input 输入框 InputNumber 数字输入框 Mentions 提及 Radio 单选框 Rate 评分组件 Select 下拉框 Slider 滑动输入条 Switch 开关