詳解vue修改elementUI的分頁組件視圖沒更新問題
今天遇到一個小問題平時沒留意,el-pagination這個分頁組件有一個屬性是current-page當(dāng)前頁。
今天想在methods里面手動修改他綁定的變量從而達到修改頁碼的效果,結(jié)果發(fā)現(xiàn)分頁組件視圖并沒有渲染,還是停留在原本的頁碼處。
然后想了想,想起了.sync這個語法糖,讓數(shù)據(jù)進行雙向綁定。
直接上修改的代碼看看
<el-pagination :current-page.sync='currentPage' :page-sizes='[10, 30, 50]' :page-size='pageSize' :total='total' layout='total, sizes, prev, pager, next, jumper' @size-change='handleSizeChange' @current-change='handleCurrentChange'/>refresh () { this.handleCurrentChange(1) this.currentPage = 1}
具體原因我想了一下,可能是因為修改this.currentPage,分頁組件沒辦法通知父組件視圖更新,所以添加了.sync修飾符使得子組件能和父組件進行溝通,從而實現(xiàn)雙向綁定,父組件獲取到更新后的值重新渲染頁面。
element-ui 接口返回有數(shù)據(jù)但是視圖沒有更新
前言:一般情況下,接口有數(shù)據(jù)返回,但相應(yīng)的視圖不更新,只會有兩種情況:1.在這個數(shù)據(jù)要更新之前有報錯或者有不嚴謹?shù)呐袛唷?.vue 對象、數(shù)組不能深層監(jiān)聽。
一、排查有無不嚴謹?shù)呐袛嗪蛨箦e。
二、vue 對象不允許在已創(chuàng)建的的實例上動態(tài)添加新的根級響應(yīng)式屬性 。(參考vue官網(wǎng))如果非要這么做的話,我們可以使用 this.$set()。
this.$set() 可以接收三個參數(shù) 1. 要綁字的數(shù)據(jù)。 2. 要添加或修改的屬性名稱。 3. 要賦的值
this.$set(this.projectList, ’projectName’, ’chenxuemin’)
三、手動更新視圖
它可以影響到本實例及本實中的 slot 插槽內(nèi)容
this.$forceUpdate() // vm.$forceUpdate()
到此這篇關(guān)于詳解vue修改elementUI的分頁組件視圖沒更新問題的文章就介紹到這了,更多相關(guān)vue element分頁組件視圖內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
