vue項(xiàng)目?jī)煞N方式實(shí)現(xiàn)豎向表格的思路分析
問(wèn)題描述
在我們做項(xiàng)目中,常見(jiàn)的是橫向表格,但是偶爾的需求,也會(huì)做豎向的表格。比如下圖這樣的豎向表格:
我們看到這樣的效果圖,第一時(shí)間想到的是使用UI框架,改一改搞定。但是餓了么UI并沒(méi)有直接提供這樣的案例,部分同學(xué)會(huì)想著使用餓了么UI中的el-table的合并行、合并列的方式去實(shí)現(xiàn),其實(shí)如果這樣去做的話,反而做麻煩了。比如下面的合并行合并列:
類(lèi)似于這樣的效果圖,其實(shí)并不一定非得使用UI組件,有的時(shí)候使用原生的方式去做。反而會(huì)更方便。本文介紹兩種方式去實(shí)現(xiàn)這樣的簡(jiǎn)單的豎向表格。實(shí)際場(chǎng)景中可能會(huì)更加復(fù)雜,但是還是那句話,只要有思路,就不是大問(wèn)題。做編程,關(guān)鍵是思路:
方式一(原生方式)不太推薦
思路就是:表格樣式自己畫(huà),使用浮動(dòng)從左往右依次排開(kāi)
<template> <div id="app"> <ul class="proWrap"> <template v-for="(item, index) in data"> <li class="proItem" :key="index"> <span>{{ item.title }}</span> <span>{{ item.value == "" ? "待完善" : item.value }}</span> </li> </template> </ul> </div> </template> <script> export default { data() { return { data: [ { title: "重要級(jí)別", value: "666", }, { title: "售前狀態(tài)", value: "666", }, { title: "配合狀態(tài)", value: "", }, { title: "售前狀態(tài)", value: "", }, { title: "技術(shù)協(xié)議狀態(tài)", value: "", }, { title: "中標(biāo)廠家", value: "", }, { title: "配合狀態(tài)", value: "", }, { title: "配合反饋時(shí)間", value: "", }, ], }; }, methods: {}, }; </script> <style lang="less" scoped> #app { width: 100%; min-height: 100vh; box-sizing: border-box; padding: 50px; .proWrap { width: 100%; border: 1px solid #e9e9e9; border-right: 0; border-bottom: 0; // 每行放幾組,這里就除于幾 .proItem { width: 100% / 3; float: left; // 向左浮動(dòng), span { display: inline-block; width: calc(50% - 2px); height: 50px; line-height: 50px; text-align: center; border-right: 1px solid #e9e9e9; border-bottom: 1px solid #e9e9e9; } span:nth-child(1) { background: #fafafa; } } // 清除浮動(dòng),不清除會(huì)導(dǎo)致最左側(cè)的邊框消失 &::after { content: ""; display: block; clear: both; } } } // 去掉li的默認(rèn)樣式 li { list-style-type: none; } </style>
方式二(使用柵格布局組件)推薦
使用餓了么自帶的柵格系統(tǒng)會(huì)方便一些,我們可以如果通過(guò)控制el-col的:span屬性來(lái)設(shè)置每行出現(xiàn)幾組,多了就自動(dòng)換行。至于表格的樣式,我們自己設(shè)置即可。這種方式很簡(jiǎn)單。代碼附上:
<template> <div id="app"> <el-col :span="howWidth" v-for="(item, index) in tableArr" :key="index"> <div class="box"> <div class="content1">{{ item.key }}</div> <div class="content2">{{ item.value == "" ? "待完善" : item.value }}</div> </div> </el-col> </div> </template> <script> export default { data() { return { tableArr: [ { key: "姓名", value: "孫悟空", }, { key: "年齡", value: 500, }, { key: "身高", value: "山一樣高", }, { key: "性別", value: "男", }, { key: "住址", value: "花果山水簾洞", }, { key: "學(xué)歷", value: "天庭弼馬溫學(xué)歷", }, { key: "能力", value: "強(qiáng)", }, { key: "外號(hào)", value: "齊天大圣", }, ], howWidth: 8, }; }, methods: {}, }; </script> <style lang="less" scoped> #app { width: 100%; min-height: 100vh; box-sizing: border-box; padding: 50px; .box { width: 100%; height: 40px; display: flex; border-left: 1px solid #e9e9e9; border-top: 1px solid #e9e9e9; .content1 { width: 40%; height: 40px; line-height: 40px; text-align: center; background-color: #fafafa; border-right: 1px solid #e9e9e9; border-bottom: 1px solid #e9e9e9; color: #333; font-size: 14px; } .content2 { width: 60%; height: 40px; line-height: 40px; text-align: center; background-color: #fff; border-right: 1px solid #e9e9e9; border-bottom: 1px solid #e9e9e9; color: #b0b0b2; font-size: 14px; } } } </style>
到此這篇關(guān)于vue項(xiàng)目?jī)煞N方式實(shí)現(xiàn)豎向表格的思路分析 的文章就介紹到這了,更多相關(guān)vue 豎向表格內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue+axios 攔截器實(shí)現(xiàn)統(tǒng)一token的案例
這篇文章主要介紹了vue+axios 攔截器實(shí)現(xiàn)統(tǒng)一token的案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-09-09利用Vue3+Element?Plus封裝公共表格組件(帶源碼)
最近公司項(xiàng)目中頻繁會(huì)使用到table表格,而且前端技術(shù)這一塊也用到了vue3來(lái)開(kāi)發(fā),所以基于element plus table做了一個(gè)二次封裝的組件,這篇文章主要給大家介紹了關(guān)于利用Vue3+Element?Plus封裝公共表格組件的相關(guān)資料,需要的朋友可以參考下2023-11-11使用Vue Router進(jìn)行路由組件傳參的實(shí)現(xiàn)方式
Vue Router 為 Vue.js 應(yīng)用提供了完整的路由解決方案,其中包括了組件間的數(shù)據(jù)傳遞功能,通過(guò)路由組件傳參,我們可以輕松地在導(dǎo)航到新頁(yè)面時(shí)傳遞必要的數(shù)據(jù),本文將深入探討如何使用 Vue Router 進(jìn)行路由組件間的傳參,并通過(guò)多個(gè)示例來(lái)展示其實(shí)現(xiàn)方式2024-09-09vue中使用Echarts?map圖實(shí)現(xiàn)下鉆至縣級(jí)的思路詳解
這篇文章主要介紹了vue中使用Echarts?map圖實(shí)現(xiàn)下鉆至縣級(jí),需要注意的是,因?yàn)槲沂侵苯訌?vue-cli2?直接跳到?vue-cli4?,還奇怪怎么讀取不到JSON,查找后才知道?vue-cli3?往后的項(xiàng)目基礎(chǔ)架構(gòu)對(duì)比舊版本有些區(qū)別,感興趣的朋友跟隨小編一起看看吧2022-01-01vue一步到位的實(shí)現(xiàn)動(dòng)態(tài)路由
這篇文章主要介紹了vue一步到位的實(shí)現(xiàn)動(dòng)態(tài)路由,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06如何在vue-cli中使用css-loader實(shí)現(xiàn)css module
這篇文章主要介紹了如何在vue-cli中使用css-loader實(shí)現(xiàn)css module,幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下2021-01-01Vue.js組件實(shí)現(xiàn)選項(xiàng)卡以及切換特效
這篇文章主要為大家詳細(xì)介紹了Vue.js組件實(shí)現(xiàn)選項(xiàng)卡以及切換特效,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-07-07