最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

動態(tài)實(shí)現(xiàn)element ui的el-table某列數(shù)據(jù)不同樣式的示例

 更新時(shí)間:2021年01月22日 09:06:47   作者:水冗水孚  
這篇文章主要介紹了動態(tài)實(shí)現(xiàn)element ui的el-table某列數(shù)據(jù)不同樣式的示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

問題描述

在餓了么ui的框架中,輸入數(shù)據(jù)el-form,輸出數(shù)據(jù)el-table。有時(shí)候產(chǎn)品想讓枯燥的表格來點(diǎn)動態(tài)的樣式,比如不同的內(nèi)容展示不同的樣式,對于這個(gè)需求,其實(shí)方式有很多種,本文列舉兩種,以供參考。

實(shí)現(xiàn)方式一

效果圖如下

代碼如下

<template>
 <div id="app">
  <!-- 需求:三國人物表格,要求不同的國別展示不同的顏色(魏國紅色、蜀國黑色、吳國藍(lán)色) -->
  <el-table :data="tableData" style="width: 100%">
   <el-table-column prop="name" label="姓名" width="180"> </el-table-column>
   <el-table-column prop="nation" label="國別" width="180"> 
    <!-- 思路通過模板插槽,獲取對應(yīng)的數(shù)據(jù),不同的數(shù)據(jù)展示不同的顏色,當(dāng)然只能讓顯示一個(gè)(通過v-if控制) -->
    <template scope="scope">
     <div v-if="scope.row.nation == '魏國'" style="color:red;font-weight:bold;">{{scope.row.nation}}</div>
     <div v-if="scope.row.nation == '蜀國'" style="color:black;font-weight:bold;">{{scope.row.nation}}</div>
     <div v-if="scope.row.nation == '吳國'" style="color:blue;font-weight:bold;">{{scope.row.nation}}</div>
    </template>
   </el-table-column>
   <el-table-column prop="bornPlace" label="出生地方"> </el-table-column>
  </el-table>
 </div>
</template>

<script>
export default {
 name: "app",
 data() {
  return {
   tableData: [
    {
     name: "劉備",
     nation: "蜀國",
     bornPlace: "涿郡涿縣(河北省涿州市)",
    },
    {
     name: "曹操",
     nation: "魏國",
     bornPlace: "沛國譙縣(安徽省亳州市)",
    },
    {
     name: "孫權(quán)",
     nation: "吳國",
     bornPlace: "吳郡富春縣(浙江省杭州市富陽區(qū))",
    },
    {
     name: "關(guān)羽",
     nation: "蜀國",
     bornPlace: "河?xùn)|郡解縣(山西省運(yùn)城市鹽湖區(qū)解州鎮(zhèn))",
    },
   ],
  };
 },
};
</script>

方式一總結(jié)
這個(gè)第一種方式,雖然能實(shí)現(xiàn)效果,但是代碼都寫在el-table里面了,看起來比較臃腫,如果只要求動態(tài)展示兩三種樣式的話,還可以寫,但是如果有七八種甚至更多樣式動態(tài)展示,這種寫法就會十分臃腫,且后期不太好維護(hù)。我個(gè)人推薦第二種方式,就是使用vue自帶的 :style 動態(tài)綁定樣式來實(shí)現(xiàn),不僅可以簡潔代碼,而且可以實(shí)現(xiàn)更加豐富的效果。如下:

實(shí)現(xiàn)方式二

效果圖如下

代碼如下

<template>
 <div id="app">
  <!-- 需求:三國人物表格,要求不同的國別展示不同的顏色(魏國紅色、蜀國黑色、吳國藍(lán)色) -->
  <el-table :data="tableData" style="width: 100%">
   <el-table-column prop="name" label="姓名" width="180"> </el-table-column>
   <el-table-column prop="nation" label="國別" width="180"> 
    <!-- 思路通過模板插槽,獲取對應(yīng)的數(shù)據(jù),通過vue動態(tài)style的方法,動態(tài)顯示不同的顏色,這種方式更加靈活 -->
    <template scope="scope">
     <!-- 意思是:給這個(gè)div綁定動態(tài)樣式,顏色color的屬性值為getColorByNation()這個(gè)方法的返回值,所以只需要通過傳過去的scope 對方法的返回值做動態(tài)設(shè)置即可 -->
     <div :style="{color:getColorByNation(scope),fontSize:getSizeByNation(scope),fontWeight:'bold'}">{{scope.row.nation}}</div>
    </template>
   </el-table-column>
   <el-table-column prop="bornPlace" label="出生地方"> </el-table-column>
  </el-table>
 </div>
</template>

<script>
export default {
 name: "app",
 data() {
  return {
   tableData: [
    {
     name: "劉備",
     nation: "蜀國",
     bornPlace: "涿郡涿縣(河北省涿州市)",
    },
    {
     name: "曹操",
     nation: "魏國",
     bornPlace: "沛國譙縣(安徽省亳州市)",
    },
    {
     name: "孫權(quán)",
     nation: "吳國",
     bornPlace: "吳郡富春縣(浙江省杭州市富陽區(qū))",
    },
    {
     name: "關(guān)羽",
     nation: "蜀國",
     bornPlace: "河?xùn)|郡解縣(山西省運(yùn)城市鹽湖區(qū)解州鎮(zhèn))",
    },
   ],
  };
 },
 methods: {
  // 動態(tài)設(shè)置顏色
  getColorByNation(scope){
   console.log(scope); // 打印一下傳過來的scope是對應(yīng)表格不同行的整行的數(shù)據(jù),如下有圖片: 
   if(scope.row.nation == "魏國"){
    return "red"
   }else if(scope.row.nation == "蜀國"){
    return "black"
   }else if(scope.row.nation == "吳國"){
    return "blue"
   }
  },
  // 動態(tài)設(shè)置字體大小
  getSizeByNation(scope){
   if(scope.row.nation == "魏國"){
    return "14px"
   }else if(scope.row.nation == "蜀國"){
    return "18px"
   }else if(scope.row.nation == "吳國"){
    return "24px"
   }
  }
 },
};
</script> 

打印傳過去的scope

方式二總結(jié)
這種通過vue綁定樣式來控制,比第一種方式,靈活很多。畢竟第一種方式是寫在el-table里面,第二種方式是寫在methods方法里面。具體用那種,看場景需求。

到此這篇關(guān)于動態(tài)實(shí)現(xiàn)element ui的el-table某列數(shù)據(jù)不同樣式的示例的文章就介紹到這了,更多相關(guān)動態(tài)實(shí)現(xiàn)element ui的el-table某列數(shù)據(jù)不同樣式的示例內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue3中實(shí)現(xiàn)圖片壓縮的示例代碼

    vue3中實(shí)現(xiàn)圖片壓縮的示例代碼

    圖片壓縮是一種比較便捷的壓縮方式,本文主要介紹了vue3中實(shí)現(xiàn)圖片壓縮的示例代碼,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-02-02
  • vue 解決在微信內(nèi)置瀏覽器中調(diào)用支付寶支付的情況

    vue 解決在微信內(nèi)置瀏覽器中調(diào)用支付寶支付的情況

    這篇文章主要介紹了vue 解決在微信內(nèi)置瀏覽器中調(diào)用支付寶支付的情況,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • element-ui vue input輸入框自動獲取焦點(diǎn)聚焦方式

    element-ui vue input輸入框自動獲取焦點(diǎn)聚焦方式

    這篇文章主要介紹了element-ui vue input輸入框自動獲取焦點(diǎn)聚焦方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Vue3路由進(jìn)階實(shí)戰(zhàn)教程之參數(shù)傳遞與導(dǎo)航守衛(wèi)核心技術(shù)

    Vue3路由進(jìn)階實(shí)戰(zhàn)教程之參數(shù)傳遞與導(dǎo)航守衛(wèi)核心技術(shù)

    本文介紹了路由參數(shù)傳遞的進(jìn)階應(yīng)用技巧,包括路由配置與參數(shù)驗(yàn)證、組件參數(shù)接收、查詢參數(shù)傳遞、導(dǎo)航守衛(wèi)以及性能優(yōu)化與最佳實(shí)踐,感興趣的朋友一起看看吧
    2025-03-03
  • 詳細(xì)講解如何創(chuàng)建, 發(fā)布自己的 Vue UI 組件庫

    詳細(xì)講解如何創(chuàng)建, 發(fā)布自己的 Vue UI 組件庫

    當(dāng)我們自己開發(fā)了一個(gè) _UI Component_, 需要在多個(gè)項(xiàng)目中使用的時(shí)候呢? 我們首先想到的可能是直接復(fù)制一份過去對嗎?我們?yōu)槭裁床话l(fā)布一個(gè) UI 組件庫給自己用呢?下面小編和大家來一起學(xué)習(xí)下吧
    2019-05-05
  • Vue3 構(gòu)建 Web Components使用詳解

    Vue3 構(gòu)建 Web Components使用詳解

    這篇文章主要為大家介紹了Vue3 構(gòu)建 Web Components使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • vue3+vite配置多頁面的示例代碼

    vue3+vite配置多頁面的示例代碼

    通過配置多頁面應(yīng)用,從而將給子模塊依賴分隔開各自加載,可以減少初始資源的請求,加快頁面的訪問速度,這篇文章主要介紹了vue3+vite配置多頁面的詳細(xì)過程,需要的朋友可以參考下
    2023-06-06
  • Vue使用pages構(gòu)建多頁應(yīng)用的實(shí)現(xiàn)步驟

    Vue使用pages構(gòu)建多頁應(yīng)用的實(shí)現(xiàn)步驟

    在大部分實(shí)際場景中,我們都可以構(gòu)建單頁應(yīng)用來進(jìn)行項(xiàng)目的開發(fā)和迭代,然而對于項(xiàng)目復(fù)雜度過高或者頁面模塊之間差異化較大的項(xiàng)目,我們可以選擇構(gòu)建多頁應(yīng)用來實(shí)現(xiàn),那么什么是多頁應(yīng)用,本文就給大家介紹了Vue使用pages構(gòu)建多頁應(yīng)用的實(shí)現(xiàn)步驟
    2024-12-12
  • 基于vue+axios+lrz.js微信端圖片壓縮上傳方法

    基于vue+axios+lrz.js微信端圖片壓縮上傳方法

    這篇文章主要介紹了基于vue+axios+lrz.js微信端圖片壓縮上傳方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • vue3+elementPlus項(xiàng)目支持設(shè)置默認(rèn)附件方式

    vue3+elementPlus項(xiàng)目支持設(shè)置默認(rèn)附件方式

    這篇文章主要介紹了vue3+elementPlus項(xiàng)目支持設(shè)置默認(rèn)附件方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03

最新評論

宝应县| 三河市| 韶山市| 公主岭市| 芜湖市| 洛隆县| 从化市| 乐山市| 松桃| 沙河市| 进贤县| 广饶县| 黄石市| 襄城县| 马鞍山市| 淮滨县| 山东省| 延寿县| 阜康市| 蓬莱市| 岢岚县| 定日县| 德令哈市| 凤山县| 柘荣县| 景谷| 眉山市| 陇南市| 西乌| 刚察县| 高碑店市| 甘谷县| 鲜城| 绥江县| 杂多县| 呼和浩特市| 淮北市| 蒲江县| 七台河市| 长泰县| 韩城市|