vue element-ui table 表格默認(rèn)選中

今天在做element-ui table 表格默認(rèn)選中時(shí)朴沿,卡了一會(huì),去網(wǎng)上百度時(shí)發(fā)現(xiàn)講的都不是很清楚授艰,在這里記錄下辨嗽,希望能幫助到有相同問題的小伙伴。

需求:頁(yè)面初始化時(shí)淮腾,根據(jù)后臺(tái)返回的數(shù)據(jù)選中表格
項(xiàng)目環(huán)境:vue + element-ui

最終頁(yè)面效果如下:


image.png

1. 我使用的是element-ui表格中的 多選表格樣式

https://element.eleme.cn/#/zh-CN/component/table

image.png

2. 代碼編寫

    <el-table
          ref="multipleTable"
          border
          :data="tableData"  
          tooltip-effect="dark"
          style="width: 100%"
          @selection-change="handleSelectionChange">  // selection-change  當(dāng)選中或取消時(shí)觸發(fā)handleSelectionChange方法
          <el-table-column
            type="selection"
            width="60">
          </el-table-column>
          <el-table-column
            label="狀態(tài)"
            width="200">
          <template slot-scope="scope">
              <!--is_open=0:對(duì)外不可見人員(紅色) is_open=1:對(duì)外可見人員(藍(lán)色)-->
              <span v-if="scope.row.is_open===1" style="color:#1E9FFF">{{ formatNodeStatus(scope.row.is_open) }}</span>
              <span v-else style="color: #FF5722">{{ formatNodeStatus(scope.row.is_open) }}</span>
            </template>
          </el-table-column>
          <el-table-column
            prop="name"
            label="等級(jí)"
            width="200">
          </el-table-column>
          <el-table-column
            prop="address"
            label="用戶昵稱"
            show-overflow-tooltip>
          </el-table-column>
  </el-table>

<script>
export default {
  name: 'nodesee',
  data () {
    return {
      tableData: [],
    }
  },
  // 跳轉(zhuǎn)到節(jié)點(diǎn)可見頁(yè)面
  methods: {
    getPower () {
        getPower(qs.stringify(this.timeNode)).then(response => {
        if (response.data.retcode === 2000) {
          this.tableData = response.data.data.lablePowerList
            } else {
          this.$message.error(response.data.retmsg)
        }
      })
    },

    toggleSelection (rows) {
      rows.forEach(row => {
        if (row.isPower === 1) {     
       // toggleRowSelection  這個(gè)方法是用來選中某一行(打勾)
       // row 是要選中的那一行
      // true 是為選中
              this.$refs.multipleTable.toggleRowSelection(row, true) }
      })
    },
       handleSelectionChange (val) {
      // val 是當(dāng)前選中的表格數(shù)據(jù)糟需,是數(shù)組類型
      console.log(val)
      }
  },
  created () {
    this.getPower()  // 初始化時(shí)頁(yè)面的數(shù)據(jù)
  },
  updated () {
  // 在這里調(diào)用toggleSelection選中方法
    this.toggleSelection(this.tableData)
  }
}
</script>

3. 遇到的問題

最開始是在getPower中獲取到this.tableData后直接調(diào)用this.toggleSelection方法,發(fā)現(xiàn)頁(yè)面渲染后并沒有選中谷朝;我懷疑自己用錯(cuò)了方法洲押,直接使用官方demo中通過點(diǎn)擊事件觸發(fā)this.toggleSelection方法,發(fā)現(xiàn)選中起效果了圆凰,這說明方法并沒有用錯(cuò)杈帐。

image.png

這說明可能是頁(yè)面渲染出來后再調(diào)用this.toggleSelection方法才能選中,所以我先在mounted中調(diào)用this.toggleSelection方法专钉,頁(yè)面渲染后也沒有選中挑童,然后我就去updated中調(diào)用this.toggleSelection方法,結(jié)果頁(yè)面渲染選中跃须,就實(shí)現(xiàn)了表格默認(rèn)選中~~~

4. vue 生命周期

生命周期參考這位大神的站叼。。菇民。
原文:https://blog.csdn.net/mqingo/article/details/86031260

  • 什么是生命周期:從Vue實(shí)例創(chuàng)建尽楔、運(yùn)行投储、到銷毀期間,總是伴隨著各種各樣的事件翔试,這些事件轻要,統(tǒng)稱為生命周期!
  • [生命周期鉤子]( https://cn.vuejs.org/v2/api/ #選項(xiàng)-生命周期鉤子):就是生命周期事件的別名而已垦缅;
  • 生命周期鉤子 = 生命周期函數(shù) = 生命周期事件
  • 主要的生命周期函數(shù)分類:
  • 創(chuàng)建期間的生命周期函數(shù):
    • beforeCreate:實(shí)例剛在內(nèi)存中被創(chuàng)建出來冲泥,此時(shí),還沒有初始化好 data 和 methods 屬性
    • created:實(shí)例已經(jīng)在內(nèi)存中創(chuàng)建OK壁涎,此時(shí) data 和 methods 已經(jīng)創(chuàng)建OK凡恍,此時(shí)還沒有開始 編譯模板
    • beforeMount:此時(shí)已經(jīng)完成了模板的編譯,但是還沒有掛載到頁(yè)面中
    • mounted:此時(shí)怔球,已經(jīng)將編譯好的模板嚼酝,掛載到了頁(yè)面指定的容器中顯示
  • 運(yùn)行期間的生命周期函數(shù):
    • beforeUpdate:狀態(tài)更新之前執(zhí)行此函數(shù), 此時(shí) data 中的狀態(tài)值是最新的竟坛,但是界面上顯示的 數(shù)據(jù)還是舊的闽巩,因?yàn)榇藭r(shí)還沒有開始重新渲染DOM節(jié)點(diǎn)
    • updated:實(shí)例更新完畢之后調(diào)用此函數(shù),此時(shí) data 中的狀態(tài)值 和 界面上顯示的數(shù)據(jù)担汤,都已經(jīng)完成了更新涎跨,界面已經(jīng)被重新渲染好了!
  • 銷毀期間的生命周期函數(shù):
    • beforeDestroy:實(shí)例銷毀之前調(diào)用崭歧。在這一步隅很,實(shí)例仍然完全可用。
    • destroyed:Vue 實(shí)例銷毀后調(diào)用率碾。調(diào)用后叔营,Vue 實(shí)例指示的所有東西都會(huì)解綁定,所有的事件監(jiān)聽器會(huì)被移除所宰,所有的子實(shí)例也會(huì)被銷毀绒尊。
20190107221323124.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市仔粥,隨后出現(xiàn)的幾起案子垒酬,更是在濱河造成了極大的恐慌,老刑警劉巖件炉,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異矮湘,居然都是意外死亡斟冕,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門缅阳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來磕蛇,“玉大人景描,你說我怎么就攤上這事⌒闫玻” “怎么了超棺?”我有些...
    開封第一講書人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)呵燕。 經(jīng)常有香客問我棠绘,道長(zhǎng),這世上最難降的妖魔是什么再扭? 我笑而不...
    開封第一講書人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任氧苍,我火速辦了婚禮,結(jié)果婚禮上泛范,老公的妹妹穿的比我還像新娘让虐。我一直安慰自己,他們只是感情好罢荡,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開白布赡突。 她就那樣靜靜地躺著,像睡著了一般区赵。 火紅的嫁衣襯著肌膚如雪惭缰。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,688評(píng)論 1 305
  • 那天惧笛,我揣著相機(jī)與錄音从媚,去河邊找鬼。 笑死患整,一個(gè)胖子當(dāng)著我的面吹牛拜效,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播各谚,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼紧憾,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了昌渤?” 一聲冷哼從身側(cè)響起赴穗,我...
    開封第一講書人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎膀息,沒想到半個(gè)月后般眉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡潜支,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年甸赃,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片冗酿。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡埠对,死狀恐怖络断,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情项玛,我是刑警寧澤貌笨,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站襟沮,受9級(jí)特大地震影響锥惋,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜臣嚣,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一净刮、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧硅则,春花似錦淹父、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至大审,卻和暖如春蘸际,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背徒扶。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來泰國(guó)打工粮彤, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人姜骡。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓导坟,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親圈澈。 傳聞我的和親對(duì)象是個(gè)殘疾皇子惫周,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 前言 使用Vue在日常開發(fā)中會(huì)頻繁接觸和使用生命周期,在官方文檔中是這么解釋生命周期的: 每個(gè) Vue 實(shí)例在被創(chuàng)...
    心_c2a2閱讀 2,260評(píng)論 1 8
  • ## 框架和庫(kù)的區(qū)別?> 框架(framework):一套完整的軟件設(shè)計(jì)架構(gòu)和**解決方案**。> > 庫(kù)(lib...
    Rui_bdad閱讀 2,910評(píng)論 1 4
  • 主要還是自己看的康栈,所有內(nèi)容來自官方文檔递递。 介紹 Vue.js 是什么 Vue (讀音 /vju?/,類似于 vie...
    Leonzai閱讀 3,353評(píng)論 0 25
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對(duì)...
    cosWriter閱讀 11,103評(píng)論 1 32
  • 一:什么是閉包啥么?閉包的用處登舞? (1)閉包就是能夠讀取其他函數(shù)內(nèi)部變量的函數(shù)。在本質(zhì)上悬荣,閉包就 是將函數(shù)內(nèi)部和函數(shù)外...
    xuguibin閱讀 9,617評(píng)論 1 52