element中多選表格默認選中


使用場景分析:
進入頁面表格數據渲染的時候,如果數據中paid是1的話,那么這一列表格就默認選中
解決方法:
后台數據返回后,使用element中的toggleRowSelection方法,這個方法用於多選表格,切換某一行的選中狀態,如果使用了第二個參數,則是設置這一行選中與否(selected 為 true 則選中)

//先寫一個方法
toggle(data) {
  if (data.length) {
    this.$nextTick(function() {
      data.forEach(item => {
        //如果數據中的paid == 1的話 讓這一列選中
        if (item.paid == 1) {
        //multipleTable 是這個表格的ref屬性 true為選中狀態
        this.$refs.multipleTable.toggleRowSelection(item, true);
        }
      })
    })
  }
},

 

//當獲取到數據的時候調用下這個方法
this.signtableData = data.data.order_goods_list; this.toggle(this.signtableData)

 

如果不加this.nextTick的話不起作用官方文檔是這樣解釋的:Vue在更新DOM時是異步執行的,為了在數據變化之后等待Vue完成更新DOM,可以在數據變化之后立即使用Vue.nextTick(callback)。這樣回調函數將在DOM更新完成后被調用個人猜想是數據賦值后還沒有給DOM綁定上所以使用nextTick的話不起作用 官方文檔是這樣解釋的:Vue 在更新 DOM 時是異步執行的,為了在數據變化之后等待 Vue 完成更新 DOM,可以在數據變化之后立即使用 Vue.nextTick(callback)。這樣回調函數將在 DOM 更新完成后被調用 個人猜想是數據賦值后還沒有給DOM綁定上 所以使用nextTick的話不起作用官方文檔是這樣解釋的:Vue在更新DOM時是異步執行的,為了在數據變化之后等待Vue完成更新DOM,可以在數據變化之后立即使用Vue.nextTick(callback)。這樣回調函數將在DOM更新完成后被調用個人猜想是數據賦值后還沒有給DOM綁定上所以使用nextTick等數據循環在dom上之后再調用這個方法就ok了




免責聲明!

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



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