美文网首页
el-table常用属性及方法(修改表头颜色;改变某行、单元格、

el-table常用属性及方法(修改表头颜色;改变某行、单元格、

作者: 後弦月的雨 | 来源:发表于2020-09-01 14:59 被阅读0次

    一、常用属性

    1、border:给表格加边框
    2、height:可实现固定表头的表格,不需要额外的代码
    3、fixed:接受 Boolean 值left或者 right,表示左边固定还是右边固定
    4、show-overflow-tooltip:当内容过长被隐藏时显示 tooltip(文字提示)
    5、header-cell-style:表头单元格的 style 的回调方法,改变表头背景色等
    6、row-class-name:改变某行的背景色
    7、cell-style:改变某列或者某单元格的背景色,文字颜色

    二、常用方法事件

    1、selection-change:当选择项发生变化时会触发该事件
    2、cell-mouse-enter:当单元格 hover 进入时会触发该事件
    3、row-click:当某一行被点击时会触发该事件

    图例
    image.png
    <template>
     <div style="padding:20px">
         <el-table
             :data="tableData" style="width: 100%" height="400" border ref="refTable"
             :header-cell-style="{ background: '#F2F2F2', color: '#333' }"
              @selection-change="handleSelectionChange"
              @cell-mouse-enter="hoverCall"
              @row-click="handleRowClick"
              :row-class-name="tableRowClassName"
              :cell-style="cellStyle"
          >
          <el-table-column type="selection" width="55" fixed="left" />
          <el-table-column prop="date"  label="日期"  min-width="110" show-overflow-tooltip/>
          <el-table-column prop="name" label="姓名" min-width="280" show-overflow-tooltip/>
          <el-table-column prop="address" label="地址" min-width="480" show-overflow-tooltip/>
          <el-table-column fixed="right" label="操作" width="100">
            <template slot-scope="scope">
                <el-button @click="handleClick(scope.row)"  type="primary" size="small">查看</el-button>
            </template>
            </el-table-column>
        </el-table>
     </div>
    </template>
    <script>
        export default {
          data() {
            return {
              tableData: [{
                date: '2016-05-01',
                name: '王小虎',
                address: '上海市普陀区金沙江路 1518 弄'
              }, {
                date: '2016-05-02',
                name: '王小虎',
                address: '上海市普陀区金沙江路 1517 弄'
              }, {
                date: '2016-05-03',
                name: '王小虎',
                address: '上海市普陀区金沙江路 1519 弄'
              }, {
                date: '2016-05-04',
                name: '王小虎',
                address: '上海市普陀区金沙江路 1516 弄'
              },{
                date: '2016-05-05',
                name: '王小虎',
                address: '上海市普陀区金沙江路 1516 弄'
              },{
                date: '2016-05-06',
                name: '王小虎',
                address: '上海市普陀区金沙江路 1516 弄'
              },{
                date: '2016-05-07',
                name: '王小虎',
                address: '上海市普陀区金沙江路 1516 弄'
              },{
                date: '2016-05-07',
                name: '王小虎',
                address: '上海市普陀区金沙江路 1516 弄'
              },{
                date: '2016-05-09',
                name: '王小虎',
                address: '上海市普陀区金沙江路 1516 弄'
              }],
              tableSelect:[],//表格选中列表
            }
          },
          methods:{
                handleClick(row){},
                handleSelectionChange(val){//多选
                    this.tableSelect = val;
                },
                hoverCall: function(row, column, cell, event) {//滑动选中
                    if (event.which == 1) {
                        this.$refs.refTable.toggleRowSelection(row);
                    }
                },
                handleRowClick(row, column, event) {//点击行触发,选中或不选中复选框
                    this.$refs.refTable.toggleRowSelection(row);
                },
                tableRowClassName({ row, rowIndex }) {//改变某行的背景色
                    if (row.date == "2016-05-04" ) {
                        return "freeze";
                    }
                },
                cellStyle({row, column, rowIndex, columnIndex}){
                    if(columnIndex === 1 && row.date=='2016-05-03'){// 改变某单元格的背景色及文字颜色
                        return 'background:pink;color:green !important'  
                    }else if(columnIndex === 1 && row.date=='2016-05-05'){ // 改变某单元格文字颜色
                        return 'color:blue !important'  
                    } else if(columnIndex === 2 ){//指定列号  改变某列的背景色
                        return 'background:#a6a6a6' 
                    }
                    else{
                        return ''  
                    } 
                }  
          }
        }
      </script>
      <style>
      /* 修改表格默认高度  */
        .el-table th,
        .el-table td {
            padding: 0 !important;
            height: 40px !important;
            line-height: 40px !important;
        }
    
        .el-table th {
            padding: 3px 0px !important;
        }
    
        .el-table__header tr,
        .el-table__header th {
            padding: 0 !important;
            height: 40px !important;
            line-height: 40px !important;
        }
    
        .el-table__body tr,
        .el-table__body td {
            padding: 0 !important;
            height: 40px !important;
            line-height: 40px !important;
        }
    
        /* 改变表格整行的背景色 */
        .el-table .freeze {
         background: #F5A623;
        }
    
      </style>
    

    结语:今天是努力总结的一天 fighting!!! image.png

    相关文章

      网友评论

          本文标题:el-table常用属性及方法(修改表头颜色;改变某行、单元格、

          本文链接:https://www.haomeiwen.com/subject/nojvsktx.html