Vue 学习随笔系列十七 -- 表格样式修改

表格样式修改

文章目录


一、表格背景颜色修改

1、方法一

表格外套一个 div ,修改div的背景色,并将表格背景色设置为透明

参考代码:

bash 复制代码
<template>
    <div class="custom-table">
        <el-table
            size="mini"
            border
            :data="tableData"
            :max-height="tableHeight"
            style="width: 100%">
            <el-table-column
                v-for="(item, index) in tableColumns"
                :key="index"
                v-bind="item"
                align="center"
                >
            </el-table-column>
            <el-table-column
                label="操作"
                fixed="right"
                align="center"
                width="100"
            >
                <template slot-scope="scope">
                    <span
                        class="del-btn"
                        @click="emitEvent({eventName:'deleteItem',params:scope.row})"
                    >删除</span>
                </template>
            </el-table-column>           
        </el-table>
    </div>
</template>

<script>
    export default {
        props: { 
            tableData: {
                type: Array,
                default: () => []
            },
            tableHeight: {},
            tableColumns: {
                default: () => []
            }
        },
        data() {
            return { }
        }, 
    }
</script>

<style lang="less" scoped>
    .del-btn {
        color: #4597EB;
        cursor: pointer;
    }

    .custom-table /deep/ .el-table, .el-table__expaned-cell {
        background-color: transparent;
    }
    .custom-table /deep/ .el-table tr {
        background-color: transparent !important;
    }
    .custom-table /deep/  .el-table--enable-row-transition .el-table__body td, .el-table .cell{
        background-color: transparent;
    }
    .custom-table /deep/ .el-table th.el-table__cell {
        background: transparent !important; // 表头背景透明
    }
    .el-table::before { //去除底部白线
        left: 0;
        bottom: 0;
        width: 100%;
        height: 0px;
    }
</style>

2、方法二

直接修改表格背景颜色

bash 复制代码
<template>
    <div class="custom-table">
        <el-table
            size="mini"
            border
            :data="tableData"
            :max-height="tableHeight"
            style="width: 100%">
            <el-table-column
                v-for="(item, index) in tableColumns"
                :key="index"
                v-bind="item"
                align="center"
                >
            </el-table-column>
            <el-table-column
                label="操作"
                fixed="right"
                align="center"
                width="100"
            >
                <template slot-scope="scope">
                    <span
                        class="del-btn"
                        @click="emitEvent({eventName:'deleteItem',params:scope.row})"
                    >删除</span>
                </template>
            </el-table-column>           
        </el-table>
    </div>
</template>

<script>
    export default {
        props: { 
            tableData: {
                type: Array,
                default: () => []
            },
            tableHeight: {},
            tableColumns: {
                default: () => []
            }
        },
        data() {
            return {
                
            }
        },
        methods: {
            emitEvent ({ eventName, params }) {
                this.$emit(eventName, params)
            }
        }, 
    }
</script>

<style lang="less" scoped>
    .del-btn {
        color: #4597EB;
        cursor: pointer;
    }
    .custom-table {
        background: transparent;
    }
    .custom-table /deep/ .el-table th.el-table__cell,
    /deep/ .el-table tr,
    /deep/.el-table th {
    	color: '#FFF'; // 表格字体颜色
        background: red; // 表格背景颜色
    }

</style>

二、多级表头颜色修改

bash 复制代码
<template>
   <el-table 
	   :data="tableData" 
	   :header-cell-style="tableHeaderColor" 
	   border 
	   stripe
   >
</template>

<script>
export default {
    methods: {
         // 修改表头颜色
        tableHeaderColor ({ rowIndex, columnIndex }) {
            if (rowIndex === 0 && columnIndex === 0) {
                return "background:#D9EAFFFF;";
            }
            if (rowIndex === 0 && columnIndex === 2) {
                return "background: #FFF0E1FF;";
            }
            if (rowIndex === 0 && columnIndex === 3) {
                return "background: #E0F5E9FF;";
            }
            if (rowIndex === 0 && columnIndex === 4) {
                return "background: #D9EAFFFF;";
            }
            if (rowIndex === 0 && columnIndex === 5) {
                return "background: #FFF0E1FF;";
            }
            if (rowIndex === 0 && columnIndex === 6) {
                return "background: #E0F5E9FF;";
            }
        },
    }
}
</script>

<style>

</style>
相关推荐
AAA简单玩转程序设计5 分钟前
救命!HTML按钮点了没反应?3分钟学会给网页“装脑子”
javascript·html
神秘的猪头8 分钟前
浏览器是如何渲染 HTML/CSS/JS 页面的?——从代码到像素的完整流程
前端·javascript
啷咯哩咯啷13 分钟前
el-table-v2 实现自适应列宽
前端·javascript·vue.js
3秒一个大13 分钟前
JavaScript 中 var、let 和 const 的区别与应用
javascript
inx17720 分钟前
微信小程序开发实战:从结构到数据绑定的完整实现
javascript·微信小程序
一枚前端小能手30 分钟前
📚 JavaScript 数据类型与数据结构全攻略 - 原始值、对象、Map/Set与弱引用实战
前端·javascript
景早1 小时前
小黑记账清单案例(axios,echarts,vue)
前端·vue.js·echarts
Mintopia1 小时前
🤖 通用人工智能(AGI)离 Web 应用还有多远?
前端·javascript·aigc
江城开朗的豌豆1 小时前
TypeScript泛型:让类型也"通用"的魔法
前端·javascript
江城开朗的豌豆2 小时前
TypeScript函数:给JavaScript函数加上"类型安全带"
前端·javascript