elementUI自定义el-table头部的样式
1、components下新建MyTable/index.vue
<template> <div class="my-table"> <el-table :data='tableData' :header-cell-style='headerCellStyle'> <slot></slot> </el-table> </div> </template> <script> export default { name: 'MyTable', props: { data: { type: Array, default() { return [] } } }, data() { return { tableData: [] } }, created() { this.tableData = this.data }, methods: { headerCellStyle({ row, column, rowIndex, columnIndex }) { if (rowIndex === 0) return 'backgroundColor:red;color:#fff;' } } } </script>
2、组件中引入并使用
import MyTable from '@components/MyTable'
data() { return { tableData: [ { date: '2016-05-02', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄' }, { date: '2016-05-04', name: '王小虎', address: '上海市普陀区金沙江路 1517 弄' }, { date: '2016-05-01', name: '王小虎', address: '上海市普陀区金沙江路 1519 弄' }, { date: '2016-05-03', name: '王小虎', address: '上海市普陀区金沙江路 1516 弄' } ] } }, components: { MyTable }
使用:
<MyTable :data="tableData"> <el-table-column prop="date" label="日期" width="180"> </el-table-column> <el-table-column prop="name" label="姓名" width="180"> </el-table-column> <el-table-column prop="address" label="地址"> </el-table-column> </MyTable>
效果:
如果需要封装成全局组件:
1、MyTable下新建index.js
import MyTable from './index.vue' export default (Vue) => { Vue.component(MyTable.name, MyTable) }
2、main.js中引入并注册
import MyTable from '@components/MyTable'
Vue.use(MyTable)
3、组件中不需要引入MyTable,直接使用
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· 地球OL攻略 —— 某应届生求职总结