设置element plus table上的header-cell-class-name为什么没有生效?
<template>
<el-table :data="equipmentLedgerManagementData" border size="small" header-cell-class-name="table-header">
...
</templete>
<style>
.table-header {
background-color: red;
}
</style>
在webstorm中这个样式呈现灰色,说明它没有被使用。从页面显示上发现这个样式也没有生效(打开开发者工具发现根本没有该规则),但是我将这段代码复制到element plus playground却生效了,这是为什么?该怎么解决?
__
从图中可以看到table-header
类名确实添加到了th
上了,但是对应的规则却没有。应该是没有打包到最后的产物,这是怎么回事?和vite的配置有关系吗?
// vite.config.js
import {fileURLToPath, URL} from 'node:url'
import {defineConfig} from 'vite'
import vue from '@vitejs/plugin-vue'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import {ElementPlusResolver} from 'unplugin-vue-components/resolvers'
// https://vitejs.dev/config/
// noinspection JSUnusedGlobalSymbols
export default defineConfig({
plugins: [
vue(),
AutoImport({
imports: ['vue'],
resolvers: [ElementPlusResolver()],
}),
Components({
resolvers: [ElementPlusResolver()],
}),
],
resolve: {
alias: {
'@': fileURLToPath(new URL('./src', import.meta.url))
}
}
})
附:
你的stackblitz案例中style是带scoped的,而上面style不带scoped,这有很大差别。不带scoped,是全局样式,应该是可以找到这个样式的,加上scoped表示私有样式,而table-header不是一个组件class,所以需要使用:deep()进行样式穿透才会生效