使用element-ui組件el-table時需要修改某一行或列的樣式(包含解決選擇器無效問題)


  在后台管理系統項目中,經常會使用element-ui中的組件el-table(表格)來展示列表數據。

  當展示數據的時候,可能就需要給給某一行或者列設置特殊的樣式,在查詢文檔是我遇到了一些問題:包括設置某一行或列樣式的方式;包括設置指定類名后選擇器無效問題。。。。

  首先介紹一下,我的項目需求列表中展示詳細信息的一列,最多只展示兩行數據,超出時使用...表示

  實現結果如下圖所示:

   

 

   

  下面介紹一下實現方式:

 

方法一(不推薦,復雜、而且表格稍有錯位):

  1.查閱element-ui官方文檔后我們發現有如下屬性:

  

   2.為表格添加該屬性,並指定函數名:

  

   3.在methods中定義addClass方法,給“詳細信息”列添加類名:

  

  4.在<style></style>中設置指定css樣式:

  

  在經過以上步驟后,本以為就應該是實現了需求,但是查看頁面后發現,並沒有成功!!!!!

  

  這時點開控制台發現,類名已經添加成功了,但是選擇器樣式卻無效。。。。。。

  

  害我查了好久的資料o(╥﹏╥)o,才知道有以下解決辦法——使用全局屬性

  在elementUI中,row-class-name、row-style、cell-class-name等屬性要想生效必須使用全局class才能生效。因為之前的代碼都是在組件中編寫的,所以去除中的scoped即可該組件中的樣式變為全局屬性。

  再看上面的代碼,我將選擇器定義在了局部:

  

  5.修改為全局樣式:

  所以就再單獨寫一個<style></style>標簽書寫全局樣式即可:

  

 

  至此,我們就實現了預期的效果: 

 

 

方法二(推薦,簡單且顯示正常):

  下面我們介紹一種簡單易行的方法——使用<template></template>

  

 

  如上圖所示,使用<template></template>並給其添加scope屬性,再內嵌一層設置有相應類名的<span></span>包裹要展示的內容。當然,編寫相應的CSS屬性選擇器也是必須的,與方法一選擇器內容相同。

 

  

 

 

  這樣就可以了,超級簡單!!!效果圖就不展示了,反正沒有錯位~~~

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM