您好,登錄后才能下訂單哦!
這篇文章給大家介紹在vue項目中使用iview實現一個分頁查詢功能,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
vue+iview 分頁及刪、查功能實現
首先要想實現分頁功能必須得知道 當前頁碼、每頁大小、總數目。
iview對分頁的功能支持還是很強大的,有很多鉤子函數
具體實現看后端返回的數據
<template> <div v-if="this.$store.state.user.userType == 0 || this.$store.state.user.userType == 1"> <Input type="text" search enter-button placeholder="根據施工人員姓名查找" v-model="peopleName" @input="search"/> <Table width="100%" :columns="peopleCol" :data="peopleDat"></Table> <!--通過sync修飾符可以動態獲取頁碼--> <Page :total="dataCount" :current.sync="current" :page-size="pageSize" show-total class="paging" @on-change="changePage"></Page> <!--該modal是刪除提醒框--> <Modal v-model="confirmDelete" width="360"> <p slot="header" > <Icon type="ios-information-circle"></Icon> <span>刪除確認</span> </p> <div > <p>此操作不可恢復,確定要刪除嗎?</p> </div> <div slot="footer"> <Button size="large" @click="cancelDelete">取消</Button> <Button type="error" size="large" @click="deleteConfirm">刪除</Button> </div> </Modal> </div> </template> <script> export default { components: { addWorker, updateWorker }, data () { return { selectedID:'',//刪除選中的ID confirmDelete:false,//刪除提示框 current:1, isShow:false, selectedList:{},//選中施工人員的id值 peopleName:'', dataCount:0,//總條數 pageSize:2,//每頁顯示數據條數 peopleDat: [], peopleCol: [ { title: '操作', key: 'action', width: 120, render: (h, params) => { return h('Button', { props: { type: 'error', size: 'small' }, on:{ click: ()=>{ this.confirmDelete=true this.delete(params.row.peopleID) } } }, '刪除') } } ], } }, mounted() { this.getWorkerList() }, methods:{ getWorkerList(){//組件初始化顯示的數據 const currPage=1 const pageSize=this.pageSize //下面是向后臺發送請求 setTimeout(async()=>{ const r=await getWorkers(currPage,pageSize) if(r.data.success){ this.dataCount=r.data.list.count//初始化總條數 this.peopleDat=r.data.list.data//默認頁列表渲染數據 console.log(r) } }) }, changePage(index){//頁碼改變觸發的函數 //index當前頁碼 const currPage=index const pageSize=this.pageSize setTimeout(async ()=>{ const r=await changePage(currPage,pageSize) if(r.data.success){ this.peopleDat=r.data.list.data//當前頁列表數據 } }) }, search(){ const peopleName=this.peopleName const pageSize=this.pageSize setTimeout(async()=>{ const r=await search(peopleName,pageSize) if(r.data.success){ this.peopleDat=r.data.list.data this.dataCount=r.data.list.count//如果不設置總條數那么當精確查詢時每頁都會有數據這得看后端返回的數據有沒有這些數據 } else { this.$Message.warning('查詢失敗!') } }) }, delete(peopleID){ this.selectedID=peopleID }, deleteConfirm(){ const id=this.selectedID setTimeout(async ()=>{ const r=await deleteWorker(id) if(r.data.success){ //這里做的一個功能是當你刪除某頁數據后立即刷新當前頁的數據 this.changePage(this.current)//更新當前頁碼的數據 this.$Message.success('刪除成功!') } else{ this.$Message.warning('刪除失敗!') } }) this.confirmDelete=false }, cancelDelete(){ this.confirmDelete=false this.$Message.info('你取消了刪除操作') } } } </script> <style scoped> .paging{ float:left; margin-top:10px; } </style>
關于在vue項目中使用iview實現一個分頁查詢功能就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。