Vue使用ElementUI動(dòng)態(tài)修改table單元格背景顏色或文本顏色
前言
今天遇到一個(gè)場(chǎng)景,表格行屬性的字典項(xiàng)要針對(duì)不同的狀態(tài),展示不同的文本顏色,如下圖所示:
賬號(hào)狀態(tài)這一欄,如果是正常就展示以綠色字體展示,如果是禁用就以紅色顏色展示
針對(duì)這個(gè)需求,我第一時(shí)間也是想到使用ElementUI提供給table的一個(gè)屬性:cell-style
官方是這么說(shuō)明的:
簡(jiǎn)單說(shuō)明就是,我們給需要修飾的table一個(gè)cell-style屬性,它的值是一個(gè)回調(diào)函數(shù),我們可以在回調(diào)函數(shù)里面進(jìn)行邏輯處理,增加style樣式
它的回調(diào)函數(shù)又四個(gè)參數(shù),格式如下:
Function({<!--{cke_protected}{C}%3C!%2D%2D%20%2D%2D%3E-->row, column, rowIndex, columnIndex})/Object
我實(shí)現(xiàn)我這個(gè)需求只用到了前兩個(gè)參數(shù),下面進(jìn)行代碼演示。
給table增加cell-style屬性
首先給table增加cell-style屬性
<el-table :data="userTableData" highlight-current-row border stripe fit :cell-style="cellStyle" >
修改一行顏色
如果想要一行都變成返回的style樣式,可以這么寫:
這里的顏色不止支持顏色編碼,而且支持顏色的單詞
這樣一行都是邏輯返回的樣式了
可以支持多個(gè)樣式,類似于style行內(nèi)樣式的寫法,比如:
但是這明顯不符合我的需求,我的需求是只讓賬號(hào)狀態(tài)進(jìn)行文本修飾,而不是一整行,所以需要使用下面這種。
只修改某個(gè)屬性顏色
如果不想讓一行都根據(jù)返回的style修飾
我們可以借助column獲取全部的行,然后某一行的lable屬性,用它進(jìn)行處理,比如這里我只想讓賬號(hào)狀態(tài)被返回的style修飾,就可以這么寫:
相關(guān)代碼如下:
//改變表格某一列或者某一個(gè)單元格文本顏色 cellStyle({row, column, rowIndex, columnIndex}) { // 定義樣式變量 let cellStyle; // 根據(jù)每一行的status屬性的值進(jìn)行判斷 // 如果是正常就展示以綠色字體展示,如果是禁用就以紅色顏色展示 switch(row.status) { // 0代表正常 case 0: // 設(shè)置文本顏色 綠色 可以直接寫顏色編碼,也可以直接寫顏色的單詞 cellStyle = 'color:#70DB93'; break; // 0代表金禁用 case 1: // 設(shè)置文本顏色 紅色 cellStyle = 'color:red'; break; // 如果有其他狀態(tài),就默認(rèn)顯示,不給文本顏色 default: cellStyle = ''; } //return cellStyle // 返回最終處理過(guò)的樣式 這樣寫就是讓全部行被style修飾 // 返回最終處理過(guò)的樣式 只讓賬號(hào)狀態(tài)這個(gè)屬性的屬性被style修飾 if(column.label == '賬號(hào)狀態(tài)'){ return cellStyle } },
這樣就滿足了我的需求:
總結(jié)
到此這篇關(guān)于Vue使用ElementUI動(dòng)態(tài)修改table單元格背景顏色或文本顏色的文章就介紹到這了,更多相關(guān)Vue Element table背景顏色內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- vue elementUi+sortable.js實(shí)現(xiàn)嵌套表格拖拽問(wèn)題
- vue+elementUi中的table實(shí)現(xiàn)跨頁(yè)多選功能(示例詳解)
- Vue+ElementUI踩坑之動(dòng)態(tài)顯示/隱藏表格的列el-table-column問(wèn)題
- Vue+EleMentUI實(shí)現(xiàn)el-table-colum表格select下拉框可編輯功能實(shí)例
- Vue?ElementUI在el-table中使用el-popover問(wèn)題
- vue+elementUI-el-table實(shí)現(xiàn)動(dòng)態(tài)顯示隱藏列方式
- vue?elementui二次封裝el-table帶插槽問(wèn)題
- Vue?ElementUI?table實(shí)現(xiàn)雙擊修改編輯某個(gè)內(nèi)容的方法
相關(guān)文章
vue實(shí)現(xiàn)按鈕的長(zhǎng)按功能
這篇文章主要介紹了vue實(shí)現(xiàn)按鈕的長(zhǎng)按功能,點(diǎn)擊按鈕實(shí)現(xiàn)長(zhǎng)按,用戶需要按下按鈕幾秒鐘,然后觸發(fā)相應(yīng)的事件,本文通過(guò)實(shí)例代碼給大家分享實(shí)現(xiàn)思路,感興趣的朋友一起看看吧2022-01-01Vue狀態(tài)管理庫(kù)Pinia詳細(xì)介紹
這篇文章主要介紹了Vue3-pinia狀態(tài)管理,pinia是 vue3 新的狀態(tài)管理工具,簡(jiǎn)單來(lái)說(shuō)相當(dāng)于之前 vuex,它去掉了 Mutations 但是也是支持 vue2 的,需要的朋友可以參考下2022-08-08vue中使用pdfjs-dist?+?turnjs實(shí)現(xiàn)頁(yè)面的翻書瀏覽功能
這篇文章主要介紹了vue中使用pdfjs-dist?+?turnjs實(shí)現(xiàn)頁(yè)面的翻書瀏覽,通過(guò)本文學(xué)習(xí)我們知道了pdfjs-dist 的工作原理是把獲取到的 pbf 的文件的數(shù)據(jù)流, 利用 canvas轉(zhuǎn)換成圖片,本文通過(guò)實(shí)例代碼詳解講解,需要的朋友可以參考下2022-10-10vue實(shí)戰(zhàn)中的一些實(shí)用小魔法匯總
這篇文章主要給大家介紹了關(guān)于vue實(shí)戰(zhàn)中一些實(shí)用小魔法的相關(guān)資料,這些技巧和竅門,可以幫助你成為更好的Vue開發(fā)人員,需要的朋友可以參考下2021-06-06Vue在頁(yè)面右上角實(shí)現(xiàn)可懸浮/隱藏的系統(tǒng)菜單
這篇文章主要介紹了Vue在頁(yè)面右上角實(shí)現(xiàn)可懸浮/隱藏的系統(tǒng)菜單,實(shí)現(xiàn)思路大概是通過(guò)props將showCancel這個(gè)Boolean值傳遞到子組件,對(duì)父子組件分別綁定事件,來(lái)控制這個(gè)系統(tǒng)菜單的顯示狀態(tài)。需要的朋友可以參考下2018-05-05vue項(xiàng)目中如何調(diào)用多個(gè)不同的ip接口
這篇文章主要介紹了vue項(xiàng)目中如何調(diào)用多個(gè)不同的ip接口,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08vue金額格式化保留兩位小數(shù)的實(shí)現(xiàn)
這篇文章主要介紹了vue金額格式化保留兩位小數(shù)的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-04-04vue項(xiàng)目打包清除console.log的四種方法總結(jié)
大家在項(xiàng)目開發(fā)的時(shí)候,需要看看一些后端接口返回的結(jié)果,會(huì)多次使用console.log項(xiàng)目開發(fā)完成打包的時(shí)候,發(fā)現(xiàn)控制臺(tái)一堆的console.log,非常頭疼,下面這篇文章主要給大家介紹了關(guān)于vue項(xiàng)目打包清除console.log的四種方法,需要的朋友可以參考下2023-04-04