1.header-cell-style使用方法

header-cell-style方法是改变表格头部样式的内置属性,可以配置表头的样式

:header-cell-style="{ background: '#f3f6fd', color: '#555' }"

2.表格的type=”selection”的使用方法,将表头中的全选框取消

 <el-table-column type="selection"> </el-table-column>

当el-table增加改属性后会增加全选功能,需求是将表头中的全选框取消,下面的css代码需要放在App.vue中。在组件的style中不生效

.el-table__header .el-table-column--selection {  visibility: hidden;  background: red !important;  z-index: 99999;}.el-table__header-wrapper {  background: #f3f6fd;}li {  list-style: none;}

3.type=”selection”属性,单选互斥功能

当设置type=”selection”属性时,ui默认是可以多选的,需求是table单选,

<el-table          ref="multipleTable"          :data="tableData"          @selection-change="selectionChange"          @select="select"          tooltip-effect="dark"          style="width:100%;height:80%;overflow: auto;"          :header-cell-style="{ background: '#f3f6fd', color: '#555' }"        >

当表格要实现互斥单选功能是,需要使用内置的selection-change和select事件前者为:当选择项发生变化时会触发该事件;后者为:当用户手动勾选数据行的 Checkbox 时触发的事件

 select(selection, row) {      // 清除 所有勾选项      this.$refs.multipleTable.clearSelection();      // 当表格数据都没有被勾选的时候 就返回      // 主要用于将当前勾选的表格状态清除      if (selection.length == 0) return;      this.$refs.multipleTable.toggleRowSelection(row,true);    },    // 表格的选中 可以获得当前选中的数据    selectionChange(val) {      // 将选中的数据存储起来      console.log(val)      //这里输出的数组当第一次选择的时候数组为一项,当多次选择之后数组中为两项,其中第二项为选中的值      //这里可以根据输出的值的数组长度来拿到最新选择的值    },

4.table表格页面渲染完成自动勾选toggleRowSelection使用

toggleRowSelection用于多选表格,切换某一行的选中状态,如果使用了第二个参数,则是设置这一行选中与否(selected 为 true 则选中)

 toggleSelection(rows) {        if (rows) {          rows.forEach(row => {            this.$refs.multipleTable.toggleRowSelection(this.tableData.find(v=>v.scenario_id==row.scenario_id),true);          });        } else {          this.$refs.multipleTable.clearSelection();        }      },

在表格渲染的请求方法的回调中 使用

当做了单选操作存储的数组只有一项时

    let rows=JSON.parse(window.sessionStorage.getItem("sceneTion"))      if(rows!=null){        this.datarows.push(rows)           this.$nextTick(()=>{            this.toggleSelection(this.datarows)          })

当没有做互斥单选操作,此时需要在请求到的数组中拿出勾选的数组this.tableData.filter过滤拿到的是available==ture表示被勾选状态

   let rows= this.tableData.filter(v=>v.available==true)        //   if()      if(rows!=null){          this.datarows=rows           this.$nextTick(()=>{            this.toggleSelection(this.datarows)          })      }

this.$nextTick表示在页面渲染完成时执行,如果不用在页面加载完成时效果不生效。

5.判断用户勾选还是取消勾选

el-table标签中加入select事件

 @select="handleSelectionChange"
      //勾选         handleSelectionChange(rows, row) {            let selected = rows.length && rows.indexOf(row) !== -1            // console.log(selected)  // true就是选中,0或者false是取消选中            },