中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在vue項目中使用iview實現一個分頁查詢功能

發布時間:2020-11-18 14:58:00 來源:億速云 閱讀:327 作者:Leah 欄目:開發技術

這篇文章給大家介紹在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實現一個分頁查詢功能就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

林甸县| 石屏县| 江山市| 来宾市| 桂阳县| 大庆市| 湟中县| 浦县| 霍城县| 随州市| 永康市| 湄潭县| 通河县| 理塘县| 永登县| 宝兴县| 水富县| 昌平区| 娱乐| 阳高县| 沅陵县| 醴陵市| 象州县| 松滋市| 栾川县| 哈尔滨市| 北宁市| 河西区| 兰州市| 方城县| 阿拉善右旗| 伊通| 九寨沟县| 长泰县| 察哈| 莲花县| 民勤县| 吉安县| 大关县| 辽源市| 大埔县|