短视频,自媒体,达人种草一站处事
这篇文章首要为各人具体先容了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 :columns="peopleCol" :data="peopleDat"></Table> <!--通过sync修饰符可以动态获取页码--> <Page :total="dataCount" :current.sync="current" :page-size="pageSize" show-total @on-change="changePage"></Page> <!--该modal是删除提示框--> <Modal v-model="confirmDelete"> <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.js的进修教程,请各人点击专题vue.js组件进修教程、Vue.js前端组件进修教程举办进修。 (编辑:湖南网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|