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

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

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

問(wèn)題描述

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

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

效果圖如下

代碼如下

<template>
 <div id="app">
  <!-- 需求:三國(guó)人物表格,要求不同的國(guó)別展示不同的顏色(魏國(guó)紅色、蜀國(guó)黑色、吳國(guó)藍(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="國(guó)別" width="180"> 
    <!-- 思路通過(guò)模板插槽,獲取對(duì)應(yīng)的數(shù)據(jù),不同的數(shù)據(jù)展示不同的顏色,當(dāng)然只能讓顯示一個(gè)(通過(guò)v-if控制) -->
    <template scope="scope">
     <div v-if="scope.row.nation == '魏國(guó)'" style="color:red;font-weight:bold;">{{scope.row.nation}}</div>
     <div v-if="scope.row.nation == '蜀國(guó)'" style="color:black;font-weight:bold;">{{scope.row.nation}}</div>
     <div v-if="scope.row.nation == '吳國(guó)'" 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: "蜀國(guó)",
     bornPlace: "涿郡涿縣(河北省涿州市)",
    },
    {
     name: "曹操",
     nation: "魏國(guó)",
     bornPlace: "沛國(guó)譙縣(安徽省亳州市)",
    },
    {
     name: "孫權(quán)",
     nation: "吳國(guó)",
     bornPlace: "吳郡富春縣(浙江省杭州市富陽(yáng)區(qū))",
    },
    {
     name: "關(guān)羽",
     nation: "蜀國(guó)",
     bornPlace: "河?xùn)|郡解縣(山西省運(yùn)城市鹽湖區(qū)解州鎮(zhèn))",
    },
   ],
  };
 },
};
</script>

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

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

效果圖如下

代碼如下

<template>
 <div id="app">
  <!-- 需求:三國(guó)人物表格,要求不同的國(guó)別展示不同的顏色(魏國(guó)紅色、蜀國(guó)黑色、吳國(guó)藍(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="國(guó)別" width="180"> 
    <!-- 思路通過(guò)模板插槽,獲取對(duì)應(yīng)的數(shù)據(jù),通過(guò)vue動(dòng)態(tài)style的方法,動(dòng)態(tài)顯示不同的顏色,這種方式更加靈活 -->
    <template scope="scope">
     <!-- 意思是:給這個(gè)div綁定動(dòng)態(tài)樣式,顏色color的屬性值為getColorByNation()這個(gè)方法的返回值,所以只需要通過(guò)傳過(guò)去的scope 對(duì)方法的返回值做動(dòng)態(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: "蜀國(guó)",
     bornPlace: "涿郡涿縣(河北省涿州市)",
    },
    {
     name: "曹操",
     nation: "魏國(guó)",
     bornPlace: "沛國(guó)譙縣(安徽省亳州市)",
    },
    {
     name: "孫權(quán)",
     nation: "吳國(guó)",
     bornPlace: "吳郡富春縣(浙江省杭州市富陽(yáng)區(qū))",
    },
    {
     name: "關(guān)羽",
     nation: "蜀國(guó)",
     bornPlace: "河?xùn)|郡解縣(山西省運(yùn)城市鹽湖區(qū)解州鎮(zhèn))",
    },
   ],
  };
 },
 methods: {
  // 動(dòng)態(tài)設(shè)置顏色
  getColorByNation(scope){
   console.log(scope); // 打印一下傳過(guò)來(lái)的scope是對(duì)應(yīng)表格不同行的整行的數(shù)據(jù),如下有圖片: 
   if(scope.row.nation == "魏國(guó)"){
    return "red"
   }else if(scope.row.nation == "蜀國(guó)"){
    return "black"
   }else if(scope.row.nation == "吳國(guó)"){
    return "blue"
   }
  },
  // 動(dòng)態(tài)設(shè)置字體大小
  getSizeByNation(scope){
   if(scope.row.nation == "魏國(guó)"){
    return "14px"
   }else if(scope.row.nation == "蜀國(guó)"){
    return "18px"
   }else if(scope.row.nation == "吳國(guó)"){
    return "24px"
   }
  }
 },
};
</script> 

打印傳過(guò)去的scope

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

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

相關(guān)文章

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

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

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

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

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

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

    這篇文章主要介紹了element-ui vue input輸入框自動(dòng)獲取焦點(diǎn)聚焦方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(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 組件庫(kù)

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

    當(dāng)我們自己開(kāi)發(fā)了一個(gè) _UI Component_, 需要在多個(gè)項(xiàng)目中使用的時(shí)候呢? 我們首先想到的可能是直接復(fù)制一份過(guò)去對(duì)嗎?我們?yōu)槭裁床话l(fā)布一個(gè) UI 組件庫(kù)給自己用呢?下面小編和大家來(lái)一起學(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配置多頁(yè)面的示例代碼

    vue3+vite配置多頁(yè)面的示例代碼

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

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

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

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

    這篇文章主要介紹了基于vue+axios+lrz.js微信端圖片壓縮上傳方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(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à)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03

最新評(píng)論

定南县| 安达市| 岱山县| 吴川市| 化德县| 凌云县| 雅江县| 嫩江县| 高邮市| 永丰县| 电白县| 辉县市| 大新县| 丰顺县| 临清市| 上杭县| 芒康县| 潮州市| 睢宁县| 静安区| 武隆县| 平山县| 福鼎市| 柳州市| 保德县| 陕西省| 大城县| 拉萨市| 临沭县| 巍山| 康平县| 成都市| 改则县| 称多县| 柯坪县| 宁武县| 东方市| 峨山| 新田县| 溆浦县| 塔城市|