當(dāng)前位置:首頁 >  站長 >  編程技術(shù) >  正文

vue+iview實現(xiàn)分頁及查詢功能

 2020-11-19 15:12  來源: 腳本之家   我來投稿 撤稿糾錯

  域名預(yù)訂/競價,好“米”不錯過

這篇文章主要為大家詳細(xì)介紹了vue+iview實現(xiàn)分頁及查詢功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

vue+iview 分頁及刪、查功能實現(xiàn)

首先要想實現(xiàn)分頁功能必須得知道 當(dāng)前頁碼、每頁大小、總數(shù)目。

iview對分頁的功能支持還是很強大的,有很多鉤子函數(shù)

具體實現(xiàn)看后端返回的數(shù)據(jù)

<template>
<div v-if="this.$store.state.user.userType == 0 || this.$store.state.user.userType == 1">
<Input type="text" search enter-button placeholder="根據(jù)施工人員姓名查找" v-model="peopleName" @input="search"/>
<Table width="100%" :columns="peopleCol" :data="peopleDat"></Table>
<!--通過sync修飾符可以動態(tài)獲取頁碼-->
<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" style="color:#f60;text-align:center">
<Icon type="ios-information-circle"></Icon>
<span>刪除確認(rèn)</span>
</p>
<div style="text-align:center">
<p>此操作不可恢復(fù),確定要刪除嗎?</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,//總條數(shù)
pageSize:2,//每頁顯示數(shù)據(jù)條數(shù)
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(){//組件初始化顯示的數(shù)據(jù)
const currPage=1
const pageSize=this.pageSize
//下面是向后臺發(fā)送請求
setTimeout(async()=>{
const r=await getWorkers(currPage,pageSize)
if(r.data.success){
this.dataCount=r.data.list.count//初始化總條數(shù)
this.peopleDat=r.data.list.data//默認(rèn)頁列表渲染數(shù)據(jù)
console.log(r)
}
})
},
changePage(index){//頁碼改變觸發(fā)的函數(shù)
//index當(dāng)前頁碼
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//當(dāng)前頁列表數(shù)據(jù)
}
})
},
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//如果不設(shè)置總條數(shù)那么當(dāng)精確查詢時每頁都會有數(shù)據(jù)這得看后端返回的數(shù)據(jù)有沒有這些數(shù)據(jù)
} 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){
//這里做的一個功能是當(dāng)你刪除某頁數(shù)據(jù)后立即刷新當(dāng)前頁的數(shù)據(jù)
this.changePage(this.current)//更新當(dāng)前頁碼的數(shù)據(jù)
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>

關(guān)于vue.js的學(xué)習(xí)教程,請大家點擊專題vue.js組件學(xué)習(xí)教程、Vue.js前端組件學(xué)習(xí)教程進行學(xué)習(xí)。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

來源:腳本之家

鏈接:https://www.jb51.net/article/199911.htm

申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!

相關(guān)標(biāo)簽
vue.js

相關(guān)文章

  • Vue 3自定義指令開發(fā)的相關(guān)總結(jié)

    這篇文章主要介紹了Vue3自定義指令開發(fā)的相關(guān)總結(jié),幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下

    標(biāo)簽:
    vue.js
  • vue集成一個支持圖片縮放拖拽的富文本編輯器

    文章主要介紹了vue集成一個支持圖片縮放拖拽的富文本編輯器,幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下。

    標(biāo)簽:
    vue.js
  • vue自定義組件實現(xiàn)雙向綁定

    這篇文章主要為大家詳細(xì)介紹了vue自定義組件實現(xiàn)雙向綁定,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

    標(biāo)簽:
    vue.js
  • Vue實現(xiàn)隨機驗證碼功能

    這篇文章主要為大家詳細(xì)介紹了Vue實現(xiàn)隨機驗證碼功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

    標(biāo)簽:
    vue.js
  • vue實現(xiàn)樹狀表格效果

    這篇文章主要為大家詳細(xì)介紹了vue實現(xiàn)樹狀表格效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

    標(biāo)簽:
    vue.js

熱門排行

信息推薦