問題描述
vue項目中,需要給vue表格中的每一行加入自定義的樣式,根據文檔給<el-table>組件加上row-class-name屬性即可,直接加入該屬性并且在當前vue組件中配置對應class發現樣式并沒有生效。
解決方案:
1.使用全局屬性
在elementUI中,row-class-name、row-style、cell-class-name等屬性要想生效必須使用全局class才能生效。因為之前的代碼都是在組件中編寫的,所以去除<style scoped></style>中的scoped即可該組件中的樣式變為全局屬性。
2.使用混合樣式
混合樣式很容易理解,就是同時使用全局屬性與局部屬性。嘗試過在組件中定義兩個style標簽塊,但是報錯了,vue不支持這種寫法,錯誤寫法如下
<!-- 錯誤示例-->
<style scoped>
<style>
<style>
</style>
最佳解決方案,組件中使用scoped限定樣式作用域,需要用到全局屬性時使用@import語法引用進來,示例代碼如下:
<style scoped>
@import "../../assets/common.css";
// 其余作用域內樣式代碼
</style>