vue elementui el-table 表格里邊展示四分位圖效果(功能實(shí)現(xiàn))
vue elementui el-table 表格里邊展示四分位圖
直接上代碼(效果圖在文章末尾):
父組件:
<template> <el-table size="small" :header-cell-style="headerCellStyle()" style="width: 100%;" highlight-current-row row-key="index" :data="tableData1" > <el-table-column label="標(biāo)題1" prop="name1" align="left"> <template slot-scope="scope"> <span>{{ scope.row.name1}}</span> </template> </el-table-column> <el-table-column label="數(shù)據(jù)1" prop="value1" align="center"> <template slot-scope="scope"> <div v-if="scope.row.name1 === '指標(biāo)4'"> <quartileChart :quartile="scope.row.value1"></quartileChart> </div> <span v-else>{{ scope.row.value1}}</span> </template> </el-table-column> <el-table-column label="數(shù)據(jù)2" prop="value2" align="center"> <template slot-scope="scope"> <div v-if="scope.row.name1 === '指標(biāo)4'"> <quartileChart :quartile="scope.row.value2"></quartileChart> </div> <span v-else>{{ scope.row.value2}}</span> </template> </el-table-column> <el-table-column label="數(shù)據(jù)3" prop="value3" align="center"> <template slot-scope="scope"> <div v-if="scope.row.name1 === '指標(biāo)4'"> <quartileChart :quartile="scope.row.value3"></quartileChart> </div> <span v-else>{{ scope.row.value3}}</span> </template> </el-table-column> <el-table-column label="數(shù)據(jù)4" prop="value4" align="center"> <template slot-scope="scope"> <div v-if="scope.row.name1 === '指標(biāo)4'"> <quartileChart :quartile="scope.row.value4"></quartileChart> </div> <span v-else>{{ scope.row.value4}}</span> </template> </el-table-column> <el-table-column label="數(shù)據(jù)5" prop="value5" align="center"> <template slot-scope="scope"> <div v-if="scope.row.name1 === '指標(biāo)4'"> <quartileChart :quartile="scope.row.value5"></quartileChart> </div> <span v-else>{{ scope.row.value5}}</span> </template> </el-table-column> </el-table> </template> <script> import quartileChart from '@/components/quartileChart.vue' // 引入子組件(四分位圖),注意引入路徑 export default { components: { quartileChart }, data() { return { tableData1: [ { name1: '指標(biāo)1', value1: '0.33%', value2: '0.33%', value3: '0.33%', value4: '0.33%', value5: '0.33%', }, { name1: '指標(biāo)2', value1: '0.33%', value2: '0.33%', value3: '0.33%', value4: '0.33%', value5: '0.33%', }, { name1: '指標(biāo)3', value1: '0.33%', value2: '0.33%', value3: '0.33%', value4: '0.33%', value5: '0.33%', }, { name1: '指標(biāo)4', value1: '1', value2: '2', value3: '3', value4: '4', value5: null, } ] }, methods: { headerCellStyle () { return { color: " #333 !important", backgroundColor: "#cedff3 !important", fontSize: '14px', fontWeight: 500, } }, } } } </script>
子組件:
<template> <div> <div v-if="5 - Number(quartile) === 1" class="ranking rank_1"> <div class="r4"></div> <div class="r3"></div> <div class="r2"></div> <div class="r1"></div> </div> <div v-else-if="5 - Number(quartile) === 2" class="ranking rank_2"> <div class="r4"></div> <div class="r3"></div> <div class="r2"></div> <div class="r1"></div> </div> <div v-else-if="5 - Number(quartile) === 3" class="ranking rank_3"> <div class="r4"></div> <div class="r3"></div> <div class="r2"></div> <div class="r1"></div> </div> <div v-else-if="5 - Number(quartile) === 4" class="ranking rank_4"> <div class="r4"></div> <div class="r3"></div> <div class="r2"></div> <div class="r1"></div> </div> <div v-else class="ranking rank_5"> <div class="r4"></div> <div class="r3"></div> <div class="r2"></div> <div class="r1"></div> </div> </div> </template> <script> export default { name: 'quartileChart', components: {}, props: { quartile: { type: String, } }, data () { return { } }, created () {}, mounted () {}, computed: {}, watch: {}, methods: {}, } </script> <style lang="scss" scoped> .ranking{ width: 47px; margin: 0 auto; height: 39px; margin-top: 1px; margin-bottom: 2px; div { height: 9px; zoom: 1; overflow: hidden; border: 1px solid #dcdcdc; margin-top: -1px; } } .rank_1 { .r4 { height: 11px; } .r3 { height: 11px; } .r2 { height: 11px; } .r1 { border: 0; background: #e1edfc; height: 11px; } } .rank_2 { .r4 { height: 11px; } .r3 { height: 11px; } .r2 { border: 0; background: #cbdff8; height: 11px; } .r1 { border: 0; background: #e1edfc; height: 11px; } } .rank_3 { .r4 { height: 11px; } .r3 { border: 0; background: #b3ceef; height: 11px; } .r2 { border: 0; background: #cbdff8; height: 11px; } .r1 { border: 0; background: #e1edfc; height: 11px; } } .rank_4 { .r4 { border: 0; background: #94b7e3; height: 11px; } .r3 { border: 0; background: #b3ceef; height: 11px; } .r2 { border: 0; background: #cbdff8; height: 11px; } .r1 { border: 0; background: #e1edfc; height: 11px; } } .rank_5 { .r4 { height: 11px; } .r3 { height: 11px; } .r2 { height: 11px; } .r1 { height: 11px; } } </style>
展示效果圖:
到此這篇關(guān)于vue elementui el-table 表格里邊展示四分位圖的文章就介紹到這了,更多相關(guān)vue elementui el-table 四分位圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue-router路由懶加載及實(shí)現(xiàn)方式
這篇文章主要介紹了vue-router路由懶加載及實(shí)現(xiàn)方式,路由懶加載的主要作用是將 路由對(duì)應(yīng)的組件打包成一個(gè)個(gè)的js代碼塊,只有在這個(gè)路由被訪問(wèn)到的時(shí)候,才會(huì)加載對(duì)應(yīng)組件的代碼塊,需要的朋友可以參考下2022-12-12基于Vue2實(shí)現(xiàn)動(dòng)態(tài)折扣表格
這篇文章主要為大家詳細(xì)介紹了如何基于Vue2實(shí)現(xiàn)動(dòng)態(tài)折扣表格,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-01-01vue在標(biāo)簽中如何使用(data-XXX)自定義屬性并獲取
這篇文章主要介紹了vue在標(biāo)簽中如何使用(data-XXX)自定義屬性并獲取,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08mpvue項(xiàng)目中使用第三方UI組件庫(kù)的方法
這篇文章主要介紹了mpvue項(xiàng)目中使用第三方UI組件庫(kù)的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-09-09詳解使用Vue.Js結(jié)合Jquery Ajax加載數(shù)據(jù)的兩種方式
本篇文章主要介紹了詳解使用Vue.Js結(jié)合Jquery Ajax加載數(shù)據(jù)的兩種方式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01