vue iview實(shí)現(xiàn)分頁功能
更新時(shí)間:2022年07月06日 07:31:57 作者:周家大小姐.
這篇文章主要為大家詳細(xì)介紹了vue iview實(shí)現(xiàn)分頁功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
本文實(shí)例為大家分享了vue iview實(shí)現(xiàn)分頁功能的具體代碼,供大家參考,具體內(nèi)容如下
子組件
<template> ? <div style="margin-top: 30px;"> ? ? <Page ? ? ? :total="paginations.total" ? ? ? show-elevator ? ? ? show-sizer ? ? ? :page-size="paginations.pageSize" ? ? ? :show-total="paginations.showTotal" ? ? ? :page-size-opts="paginations.pageSizeOpts" ? ? ? :current="paginations.current" ? ? ? @on-change="changepage" ? ? ? @on-page-size-change="pageSizeChange" ? ? ></Page> ? </div> </template> ? <script> export default { ? name: "page", ? props: { ? ? paginations: { ? ? ? type: Object, ? ? ? default: {} ? ? } ? }, ? methods: { ? ? changepage(index) { ? ? ? this.$emit("changepage", index); ? ? }, ? ? pageSizeChange(index) { ? ? ? this.$emit("pageSizeChange",index); ? ? } ? } }; </script> ? <style> </style>
父級(jí)件
/* ?* @Author: mikey.zhaopeng? ?* @Date: 2019-09-17 10:42:28? ?* @Last Modified by: mikey.zhaopeng ?* @Last Modified time: 2019-09-20 16:06:10 ?機(jī)主流量記錄 ?*/ ? <template> ? <div id="news"> ? ? <Form :model="serach_data"> ? ? ? <Row> ? ? ? ? <Col span="3"> ? ? ? ? ? <FormItem> ? ? ? ? ? ? <Input v-model="serach_data.Nickname" placeholder="姓名"></Input> ? ? ? ? ? </FormItem> ? ? ? ? </Col> ? ? ? ? <Col span="3" style="margin-left:1%;"> ? ? ? ? ? <FormItem> ? ? ? ? ? ? <Input v-model="serach_data.customerNumber" placeholder="編號(hào)"></Input> ? ? ? ? ? </FormItem> ? ? ? ? </Col> ? ? ? ? <Col span="3" style="margin-left:1%;"> ? ? ? ? ? <Button type="primary" size="default" icon="ios-search" @click="onSerach"></Button> ? ? ? ? </Col> ? ? ? </Row> ? ? </Form> ? ? <Table border :columns="columns6" :data="tableData"></Table> ? ? <pageItem ? ? ? :paginations="{...paginations}" ? ? ? @changepage="changepage" ? ? ? @pageSizeChange="pageSizeChange" ? ? /> ? </div> </template> ? <script> import pageItem from "@/common/PageItem"; import { publicMethod } from "@/common/utils/public"; import { CustomerModule } from "@/utils/api"; export default { ? name: "userInfo", ? components: { ? ? pageItem ? }, ? data() { ? ? return { ? ? ? paginations: { ? ? ? ? // 初始化信息總條數(shù) ? ? ? ? total: 15, ? ? ? ? // 每頁顯示多少條 ? ? ? ? pageSize: 15, ? ? ? ? // 每頁條數(shù)切換的配置 ? ? ? ? pageSizeOpts: [15, 30, 45, 60, 75], ? ? ? ? current: 1, //當(dāng)前位于哪頁 ? ? ? ? showTotal: true ? ? ? }, ? ? ? serach_data: { ? ? ? ? Nickname: "", //昵稱 ? ? ? ? customerNumber: "" //用戶編號(hào) ? ? ? }, ? ? ? columns6: [ ? ? ? ? { ? ? ? ? ? title: "編號(hào)", ? ? ? ? ? key: "Id", ? ? ? ? ? width: 100 ? ? ? ? }, ? ? ? ? { ? ? ? ? ? title: "昵稱", ? ? ? ? ? width: 160, ? ? ? ? ? render: (h, params) => { ? ? ? ? ? ? return h( ? ? ? ? ? ? ? "div", ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? style: { ? ? ? ? ? ? ? ? ? display: "flex", ? ? ? ? ? ? ? ? ? alignItems: "center" ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? }, ? ? ? ? ? ? ? [ ? ? ? ? ? ? ? ? h("img", { ? ? ? ? ? ? ? ? ? style: { ? ? ? ? ? ? ? ? ? ? marginRight: "10px", ? ? ? ? ? ? ? ? ? ? width: "30px", ? ? ? ? ? ? ? ? ? ? display: "inline-block", ? ? ? ? ? ? ? ? ? ? borderRadius: "50%" ? ? ? ? ? ? ? ? ? }, ? ? ? ? ? ? ? ? ? attrs: { ? ? ? ? ? ? ? ? ? ? src: params.row.Avatar, //頭像 ? ? ? ? ? ? ? ? ? ? style: "width: 100px;height: 30px" ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? }), ? ? ? ? ? ? ? ? h("div", [ ? ? ? ? ? ? ? ? ? h( ? ? ? ? ? ? ? ? ? ? "div", ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? style: { ? ? ? ? ? ? ? ? ? ? ? ? marginRight: "5px", ? ? ? ? ? ? ? ? ? ? ? ? height: "15px" ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? }, ? ? ? ? ? ? ? ? ? ? params.row.FullName //昵稱 ? ? ? ? ? ? ? ? ? ) ? ? ? ? ? ? ? ? ]) ? ? ? ? ? ? ? ] ? ? ? ? ? ? ); ? ? ? ? ? } ? ? ? ? }, ? ? ? ? { ? ? ? ? ? title: "變動(dòng)類型", //0.初始化 1.使用 2.充值 3.管理員調(diào)整 ? ? ? ? ? key: "VolumeType", ? ? ? ? ? render: (h, params) => { ? ? ? ? ? ? // console.log(params.row); ? ? ? ? ? ? let VolumeType = ""; ? ? ? ? ? ? switch (params.row.VolumeType) { ? ? ? ? ? ? ? case 0: ? ? ? ? ? ? ? ? VolumeType = "初始化"; ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? case 1: ? ? ? ? ? ? ? ? VolumeType = "使用"; ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? case 2: ? ? ? ? ? ? ? ? VolumeType = "充值"; ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? case 3: ? ? ? ? ? ? ? ? VolumeType = "管理員調(diào)整"; ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? } ? ? ? ? ? ? ? return h( ? ? ? ? ? ? ? "div", ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? style: { ? ? ? ? ? ? ? ? ? display: "flex", ? ? ? ? ? ? ? ? ? alignItems: "center" ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? }, ? ? ? ? ? ? ? VolumeType ? ? ? ? ? ? ); ? ? ? ? ? } ? ? ? ? }, ? ? ? ? { ? ? ? ? ? title: "變動(dòng)流量", ? ? ? ? ? key: "UseVolume" ? ? ? ? }, ? ? ? ? { ? ? ? ? ? title: "變動(dòng)后總流量", ? ? ? ? ? key: "BalanceVolume" ? ? ? ? }, ? ? ? ? { ? ? ? ? ? title: "變動(dòng)時(shí)間", ? ? ? ? ? key: "AddTime", ? ? ? ? ? render: (h, params) => { ? ? ? ? ? ? return h( ? ? ? ? ? ? ? "div", ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? style: { ? ? ? ? ? ? ? ? ? display: "flex", ? ? ? ? ? ? ? ? ? alignItems: "center" ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? }, ? ? ? ? ? ? ? publicMethod.getTimeData(params.row.AddTime) ? ? ? ? ? ? ); ? ? ? ? ? } ? ? ? ? } ? ? ? ], ? ? ? allTableData: [], //所有表單數(shù)據(jù) ? ? ? tableData: [] ? ? }; ? }, ? methods: { ? ? getPageList(pageIndex = 1, pageSize = 15) { ? ? ? let serachVal = this.serach_data; ? ? ? let datas = { ? ? ? ? nickname: serachVal.Nickname, ? ? ? ? customerNumber: serachVal.customerNumber, ? ? ? ? pageIndex: pageIndex, ? ? ? ? pageSize: pageSize ? ? ? }; ? ? ? console.log(datas); ? ? ? CustomerModule.getCusVolumeLogList(datas).then(res => { ? ? ? ? let { Data } = res.data; ? ? ? ? console.log(Data); ? ? ? ? this.tableData = Data.data; ? ? ? ? this.paginations.total = Data.total; ? ? ? }); ? ? }, ? ? onSerach() { ? ? ? //搜索數(shù)據(jù) ? ? ? this.getPageList(); ? ? }, ? ? ? //切換當(dāng)前頁 ? ? changepage(page) { ? ? ? this.paginations.current = page; ? ? ? this.getPageList(page, this.paginations.pageSize); ? ? }, ? ? //切換每頁條數(shù)時(shí)的回調(diào),返回切換后的每頁條數(shù) ? ? pageSizeChange(page_size) { ? ? ? this.paginations.current = 1; //當(dāng)前頁 ? ? ? this.paginations.pageSize = page_size; //所點(diǎn)擊的條數(shù),傳給一頁要顯示多少條 ? ? ? this.getPageList(this.paginations.current, page_size); ? ? } ? }, ? mounted() { ? ? this.getPageList(); ? }, ? created() { ? ? this.$store.commit("base/updateBreadcumb", { ? ? ? module: [{ name: "機(jī)主" }], ? ? ? list: [{ name: "機(jī)主流量記錄", path: "" }] ? ? }); ? } }; </script> ? <style lang="less" scoped> // 模態(tài)框 .vertical-center-modal { ? display: flex; ? align-items: center; ? justify-content: center; ? ? .ivu-modal { ? ? top: 0; ? } } </style>
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- vuejs實(shí)現(xiàn)本地?cái)?shù)據(jù)的篩選分頁功能思路詳解
- Vue2.5 結(jié)合 Element UI 之 Table 和 Pagination 組件實(shí)現(xiàn)分頁功能
- Vue+element-ui 實(shí)現(xiàn)表格的分頁功能示例
- vue+vuex+json-seiver實(shí)現(xiàn)數(shù)據(jù)展示+分頁功能
- vue實(shí)現(xiàn)的上拉加載更多數(shù)據(jù)/分頁功能示例
- vue+elementUI組件table實(shí)現(xiàn)前端分頁功能
- vue實(shí)現(xiàn)分頁功能
- vue實(shí)現(xiàn)表格分頁功能
- vue實(shí)現(xiàn)簡單分頁功能
- vue實(shí)現(xiàn)簡單的分頁功能
- vue實(shí)現(xiàn)一個(gè)簡單的分頁功能實(shí)例詳解
相關(guān)文章
vue-cli3項(xiàng)目升級(jí)到vue-cli4 的方法總結(jié)
這篇文章主要介紹了vue-cli3項(xiàng)目升級(jí)到vue-cli4 的方法總結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03Vue使用枚舉類型實(shí)現(xiàn)HTML下拉框步驟詳解
本文分步驟給大家介紹了Vue使用枚舉類型實(shí)現(xiàn)HTML下拉框的相關(guān)知識(shí),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2018-02-02vue如何通過router-link或者button跳轉(zhuǎn)到一個(gè)新的頁面
這篇文章主要介紹了vue如何通過router-link或者button跳轉(zhuǎn)到一個(gè)新的頁面,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-10-10