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

溫馨提示×

溫馨提示×

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

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

Vue+ElementUI table實現表格分頁

發布時間:2021-06-02 18:05:43 來源:億速云 閱讀:441 作者:Leah 欄目:web開發

本篇文章為大家展示了Vue+ElementUI table實現表格分頁,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

一、在elementUI中將表格、分頁引入自己的頁面中

<template>
 <div class="app">
   <el-table :data="tableData" >
     <el-table-column prop="date" label="日期" width="180"></el-table-column>
     <el-table-column prop="name" label="姓名" width="180"></el-table-column>
     <el-table-column prop="address" label="地址"></el-table-column>
   </el-table>
   <el-pagination
    @size-change="handleSizeChange"
    @current-change="handleCurrentChange"
    :current-page="currentPage"
    :page-sizes="[100, 200, 300, 400]"
    :page-size="100"
    layout="total, sizes, prev, pager, next, jumper"
    :total="400">
   </el-pagination>
 </div>
 </template>
 <script>
  export default {
   data() {
    return {
     tableData: [{
      date: '2016-05-02',
      name: '王小虎',
      address: '上海市普陀區金沙江路 1518 弄'
     }, {
      date: '2016-05-04',
      name: '王小虎',
      address: '上海市普陀區金沙江路 1517 弄'
     }, {
      date: '2016-05-01',
      name: '王小虎',
      address: '上海市普陀區金沙江路 1519 弄'
     }, {
      date: '2016-05-03',
      name: '王小虎',
      address: '上海市普陀區金沙江路 1516 弄'
     }],
     // 默認顯示第一條
     currentPage:1
    }
   },
   methods: {
     handleSizeChange(val) {
      console.log(`每頁 ${val} 條`);
     },
     handleCurrentChange(val) {
      console.log(`當前頁: ${val}`);
     }
    },
  }
</script>

二、前端分頁(在一的基礎上添加分頁功能)

<template>
 <div class="app">  
   <!-- 將獲取到的數據進行計算 -->  
   <el-table :data="tableData.slice((currentPage-1)*PageSize,currentPage*PageSize)" >
     <el-table-column prop="date" label="日期" width="180"></el-table-column>
     <el-table-column prop="name" label="姓名" width="180"></el-table-column>
     <el-table-column prop="address" label="地址"></el-table-column>
   </el-table>
   <div class="tabListPage">
      <el-pagination @size-change="handleSizeChange" 
             @current-change="handleCurrentChange" 
             :current-page="currentPage" 
             :page-sizes="pageSizes" 
             :page-size="PageSize" layout="total, sizes, prev, pager, next, jumper" 
             :total="totalCount">
       </el-pagination>
    </div>
</div>
</template>
<script>
export default {
  data(){
    return {
      // 總數據
      tableData:[],
      // 默認顯示第幾頁
      currentPage:1,
      // 總條數,根據接口獲取數據長度(注意:這里不能為空)
      totalCount:1,
      // 個數選擇器(可修改)
      pageSizes:[1,2,3,4],
      // 默認每頁顯示的條數(可修改)
      PageSize:1,
    }
  },
 methods:{
    getData(){
       // 這里使用axios,使用時請提前引入
       axios.post(url,{
         orgCode:1
       },{emulateJSON: true},
       {
        headers:{"Content-Type": "application/x-www-form-urlencoded;charset=utf-8",} 
       }
       ).then(reponse=>{
          console.log(reponse)
          // 將數據賦值給tableData
          this.tableData=data.data.body
          // 將數據的長度賦值給totalCount
          this.totalCount=data.data.body.length
       }) 
     },
    // 分頁
    // 每頁顯示的條數
    handleSizeChange(val) {
      // 改變每頁顯示的條數 
      this.PageSize=val
      // 注意:在改變每頁顯示的條數時,要將頁碼顯示到第一頁
      this.currentPage=1
    },
     // 顯示第幾頁
    handleCurrentChange(val) {
      // 改變默認的頁數
      this.currentPage=val
    },
  },
  created:function(){
     this.getData() 
  }
}
</script>

三、后端分頁(在一的基礎上添加分頁功能)

<template>
 <div class="app"> 
   <el-table :data="tableData" >
     <el-table-column prop="date" label="日期" width="180"></el-table-column>
     <el-table-column prop="name" label="姓名" width="180"></el-table-column>
     <el-table-column prop="address" label="地址"></el-table-column>
   </el-table>
    <div class="tabListPage">
      <el-pagination @size-change="handleSizeChange" 
              @current-change="handleCurrentChange" 
              :current-page="currentPage" 
              :page-sizes="pageSizes" 
              :page-size="PageSize" layout="total, sizes, prev, pager, next, jumper" 
              :total="totalCount">
       </el-pagination>
    </div>
 </div>
</template>
<script>
export default {
  data(){
    return {
       // 總數據
      tableData:[],
      // 默認顯示第幾頁
      currentPage:1,
      // 總條數,根據接口獲取數據長度(注意:這里不能為空)
      totalCount:1,
      // 個數選擇器(可修改)
      pageSizes:[1,2,3,4],
      // 默認每頁顯示的條數(可修改)
      PageSize:1,
    }
  },
 methods:{
     // 將頁碼,及每頁顯示的條數以參數傳遞提交給后臺
    getData(n1,n2){
       // 這里使用axios,使用時請提前引入
       axios.post(url,{
          orgCode:1,
          // 每頁顯示的條數
          PageSize:n1,
          // 顯示第幾頁
          currentPage:n2,
       },{emulateJSON: true},
       {
        headers:{"Content-Type": "application/x-www-form-urlencoded;charset=utf-8",} 
        }
        ).then(reponse=>{
          console.log(reponse)
          // 將數據賦值給tableData
          this.tableData=data.data.body
          // 將數據的長度賦值給totalCount
          this.totalCount=data.data.body.length
        }) 
     },
    // 分頁
     // 每頁顯示的條數
    handleSizeChange(val) {
      // 改變每頁顯示的條數 
      this.PageSize=val
      // 點擊每頁顯示的條數時,顯示第一頁
      this.getData(val,1)
      // 注意:在改變每頁顯示的條數時,要將頁碼顯示到第一頁
      this.currentPage=1 
    },
     // 顯示第幾頁
    handleCurrentChange(val) {
      // 改變默認的頁數
      this.currentPage=val
      // 切換頁碼時,要獲取每頁顯示的條數
      this.getData(this.PageSize,(val)*(this.pageSize))
    },
  },
  created:function(){
     this.getData(this.PageSize,this.currentPage) 
  }
 }
</script>

上述內容就是Vue+ElementUI table實現表格分頁,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

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

AI

翁牛特旗| 金塔县| 周宁县| 巴马| 互助| 涿鹿县| 天气| 贞丰县| 沈丘县| 金堂县| 东阿县| 颍上县| 耿马| 宜阳县| 大足县| 南华县| 运城市| 莲花县| 象州县| 东方市| 体育| 南漳县| 西城区| 阿城市| 南康市| 贵州省| 昌邑市| 民权县| 上犹县| 中西区| 嘉黎县| 如东县| 平塘县| 全椒县| 凤冈县| 东乌珠穆沁旗| 土默特左旗| 积石山| 鹰潭市| 来安县| 鄂州市|