国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

詳解element-ui表格中勾選checkbox,高亮當前行

2019-11-19 10:55:37
字體:
來源:轉載
供稿:網友

我們在做后臺管理系統的時候經常需要操作表格,這里我們要實現的一個功能就是,勾選復選框,高亮顯示當前行,也就是當前行樣式改變。這是一個非常常見的使用場景,官網給我們提供了一個帶Checkbox的table表格,但是并沒有給出上述使用案例,解決辦法有很多,我簡單總結下我自己的實現過程,希望能幫助到有同樣需求的小伙伴。

勾選表格中當前項時會觸發selection-change事件,在<el-table>中綁定handleSelectionChange方法。

    <el-table     @selection-change="handleSelectionChange"    >

編寫handleSelectionChange方法,實現思路就是根據勾選當前行的下標,改變當前樣式。但是element table表格中沒有獲取勾選后當前行index的方法,這里主要通過兩個forEach遍歷實現。

在data中定義tableData的時候一定要設置id屬性,因為這里我們是通過id的對比來獲取當前行的下標。

    tableData: [{     id:0,     date: '2016-05-03',     name: '王小虎',     address: '上海市普陀區金沙江路 1518 弄'    }

下列方法打印出來的i就是你要獲取的勾選行的索引值,我們在data中定義一個空數組,專門用來存儲選中項的下標,方便使用。

   handleSelectionChange(val) {    var arr = [];    val.forEach((val, index) => {      this.tableData.forEach((v, i) => {       // id 是每一行的數據id      if(val.id == v.id){       // console.log(i);       arr.push(i)      }     })    })      this.multipleSelection = arr;   }

獲取到下標之后就需要改變樣式,給<el-table>標簽綁定修改當前行樣式的方法rowStyle

    <el-table     @selection-change="handleSelectionChange"     :row-class-name="rowStyle"    >

編寫rowStyle方法,思路是循環便利multipleSelection數組,取出存儲的下標,與當前行下標做對比,如果相同則返回rowStyle,改變當前行的樣式。

這里需要注意一個問題:

forEach中return無效!我們希望達到某一條件時,跳出循環,代碼終止,使用forEach進行遍歷是無法實現的。

原因:forEach()無法在所有元素都傳遞給調用的函數之前終止遍歷!

        this.multipleSelection.forEach((v)=>{     if(rowIndex === v){      return 'rowStyle'     }    })

解決方法:使用for替換forEach

   rowStyle({row, rowIndex}){    let arr = this.multipleSelection;    for(let i = 0; i < arr.length; i++){     if(rowIndex === arr[i]){      return 'rowStyle'     }    }    }

在style中定義選中行的樣式

</style> .rowStyle{  background-color:red!important; }</style>

另外如果想更改鼠標移入的hover樣式,要注意需要在td上修改,因為事件是添加在td身上的,在tr上修改無效。

  .el-table{   width: 1163px;    margin: 0 auto;   .el-table__body{    tr:hover>td{     background-color:rgba(238,250,249,1)!important;    }   }  }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 辽宁省| 花莲县| 乌拉特前旗| 乌兰县| 莎车县| 绥江县| 张家川| 南郑县| 林芝县| 阿勒泰市| 桂东县| 会泽县| 银川市| 宝鸡市| 梁平县| 金华市| 手机| 慈利县| 丰镇市| 乌什县| 渭南市| 定襄县| 平舆县| 林周县| 三江| 桐城市| 灵宝市| 平塘县| 泾阳县| 广安市| 文山县| 梁平县| 和顺县| 德令哈市| 聊城市| 沧州市| 长沙县| 清镇市| 桃园县| 思南县| 天等县|