解決element 分頁組件,搜索過后current-page 綁定的數據變了,但是頁面當前頁碼並沒有變的問題


前言
上一篇寫前台解決分頁問題的時候沒有這個問題,但是在實際項目后台中有遇到過,所以在這里專門說一下,如果參考前台分頁出現這種問題了,也可以使用這種方法!
bug:vue和element實現的后台分頁,當前是第二頁,點擊搜索,強制設置current-page為1,但是當前頁還是第二頁沒有改變。

解決方法
如何使用分頁就不說了,可以參考上一篇的前台解決分頁

頁面 el-pagination v-if="pageshow"

 
         
<div class="pagination-container">
    <el-pagination v-if="pageshow" background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page.sync="listQue        ry.page" :page-size="listQuery.rows" layout="total, sizes, prev, pager, next, jumper" :total="total">
    </el-pagination>
</div>
 

操作
這里element的分頁有個bug,就是在搜索過后的當前頁數據變化了,原本的分頁當前頁並不會改變,這就會遇見一個問題,首次展示停留在第5頁,搜索過后的數據並沒有5頁,不論前台分頁或后台分頁,頁面都會展示:暫無數據! 但其實是有數據的,只是額沒有第五頁的數據。所以在搜索的時候將當前頁設置為1。
使用v-if綁定數據,當每次搜索的時候就注銷掉前一個分頁Dom,畫面刷新完畢后,渲染一個同樣的分頁,重新渲染必須放到$nextTick中,這樣在使用分頁就不會出現問題了。
search是一個方法在methods中,調用的時候@click="search"綁定到 搜索按鈕上 就可以了

handleFilter() {
  this.listQuery.page = 1
  this.pageshow = false
  this.getList();
  this.$nextTick(() => {
    this.pageshow = true
  })
},

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM