解決獲取數(shù)據(jù)后this.$refs.xxx.toggleRowSelection無(wú)效的問(wèn)題
獲取數(shù)據(jù)后this.$refs.xxx.toggleRowSelection無(wú)效
獲取數(shù)據(jù)后在外部加上一個(gè)$nextTick即可
this.$nextTick(function () { ? this.trainPeopleTable.forEach(row=>{ ? ? if(this.selectList.indexOf(row.staffId) >= 0){ ? ? ? this.$refs.trainPersonTable.toggleRowSelection(row); ? ? } ? }) })
原因大概如下:
$nextTick 是在下次 DOM 更新循環(huán)結(jié)束之后執(zhí)行延遲回調(diào),在修改數(shù)據(jù)之后使用 $nextTick,則可以在回調(diào)中獲取更新后的 DOM
toggleRowSelection失效的2個(gè)原因
背景
當(dāng)在含分頁(yè)的table中,需分頁(yè)切換后對(duì)列表項(xiàng)的勾選狀態(tài)做回顯操作。根據(jù)element文檔使用 this.$refs.mytable.toggleRowSelection(row, selected)方法回顯,實(shí)際應(yīng)用時(shí)會(huì)出現(xiàn)回顯失效的情況。
失效原因
1、 ref 文檔本身是作為渲染結(jié)果被創(chuàng)建的,在初始渲染的時(shí)候你不能訪問(wèn)它們 - 它們還不存在! $refs 也不是響應(yīng)式的,因此你不應(yīng)該試圖用它在模板中做數(shù)據(jù)綁定。
數(shù)據(jù)更新后Dom會(huì)注銷(xiāo)新建,導(dǎo)致我們勾選操作失效
2、我們操作的勾選數(shù)據(jù)必須是表單數(shù)據(jù),即便數(shù)據(jù)一模一樣,數(shù)據(jù)存儲(chǔ)地址的指針不同也會(huì)導(dǎo)致失效
解決辦法
1、使用$nextTick,在dom 更新完成后的回調(diào)中來(lái)處理渲染選中
2、通過(guò)已選數(shù)據(jù)對(duì)比篩選表單數(shù)據(jù)來(lái)操作同一數(shù)據(jù)
this.checkedData.forEach(item => { // checkedData為已選數(shù)據(jù) this.$nextTick( ()=>{ this.userData.find(obj => { // userData 表單數(shù)據(jù) if(item.id === obj.id) { this.$refs.multipleTable.toggleRowSelection(obj,true) } }) }) })
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue實(shí)現(xiàn)圖片預(yù)覽放大以及縮小問(wèn)題
這篇文章主要介紹了vue實(shí)現(xiàn)圖片預(yù)覽放大以及縮小問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-01-01關(guān)于Vue在ie10下空白頁(yè)的debug小結(jié)
這篇文章主要給大家介紹了關(guān)于Vue在ie10下空白頁(yè)的debug相關(guān)資料,這是最近在工作中遇到的一個(gè)問(wèn)題,通過(guò)查找相關(guān)的資料終于解決了,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2018-05-05Vue利用廣度優(yōu)先搜索實(shí)現(xiàn)watch
這篇文章主要為大家學(xué)習(xí)介紹了Vue如何利用廣度優(yōu)先搜索實(shí)現(xiàn)watch(有意思),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-08-08vue項(xiàng)目中使用Hbuilder打包app 設(shè)置沉浸式狀態(tài)欄的方法
這篇文章主要介紹了vue項(xiàng)目 使用Hbuilder打包app 設(shè)置沉浸式狀態(tài)欄的方法,本文通過(guò)實(shí)例代碼效果圖展示給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2018-10-10vue雙向錨點(diǎn)實(shí)現(xiàn)過(guò)程簡(jiǎn)易版(scrollIntoView)
這篇文章主要介紹了vue雙向錨點(diǎn)實(shí)現(xiàn)過(guò)程簡(jiǎn)易版(scrollIntoView),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07vue自定義js圖片碎片輪播圖切換效果的實(shí)現(xiàn)代碼
這篇文章主要介紹了vue自定義js圖片碎片輪播圖切換效果的實(shí)現(xiàn)代碼,需要的朋友可以參考下2019-04-04