關(guān)于vue2使用element?UI中Descriptions組件的遍歷問題詳解
需求描述:
展示信息時其中部門區(qū)域是未知數(shù)量的,需要通過遍歷進行展示。如下圖舉例,其中地址和備注是一一對應關(guān)系,需遵循該樣式。
問題描述:
起初我在el-descriptions中直接使用v-for進行遍歷地址和備注兩個el-descriptions-item,發(fā)現(xiàn)頁面毫無反應,不會渲染這部分。
<div v-for="item in arr" :key="item.id"> <el-descriptions-item> <template slot="label"> <i class="el-icon-location-outline" />地址 </template> {{item.city}} </el-descriptions-item> <el-descriptions-item> <template slot="label"> <i class="el-icon-tickets" />備注 </template> <el-tag size="small">{{item.remarks}}</el-tag> </el-descriptions-item> </div>
導致原因:
打開控制臺發(fā)現(xiàn),這個組件是將數(shù)據(jù)渲染成了一個表格形式,放在里面的div是沒有被識別出來。所以更不會遍歷渲染。
處理辦法:
使用template進行包裹遍歷(注意:key要放在真實dom上)
<template v-for="(item,ind) in arr"> <el-descriptions-item :key="ind"> <template slot="label"> <i class="el-icon-location-outline" />地址 </template> {{item.city}} </el-descriptions-item> <el-descriptions-item :key="ind"> <template slot="label"> <i class="el-icon-tickets" />備注 </template> <el-tag size="small">{{item.remarks}}</el-tag> </el-descriptions-item> </template>
數(shù)據(jù): arr: [{ city: '蘇州', remarks: '學校' }, { city: '揚州', remarks: '老家' }]
以下為其他思考解決方式(不推薦)
1. 處理數(shù)據(jù),不可以通過div遍歷但是可以在el-descriptions-item中遍歷自身??梢詫鬟^來的數(shù)組進行拆分重新組裝,之后遍歷該數(shù)據(jù)。
例:[{city:'蘇州',remarks:'學校'},{city:'揚州',remarks:'老家'}] => ['蘇州','學校','揚州','老家']
//遍歷展示 <el-descriptions-item v-for="(item,ind) in arr" :key="ind"> <template slot="label"> <i class="el-icon-location-outline" /> {{ind%2==0?'地址':'備注'}} </template> {{item}} </el-descriptions-item>
2. 拆分展示圖表。分成三部分,中間遍歷部分用div手寫樣式。(該樣式需要根據(jù)需求自行調(diào)整)
<div class="departList"> <div v-for="(item,ind) in jointDeparts" :key="ind" class="departItem"> <div class="depart"> <div class="left">地址</div> <div class="right">{{item.name}}</div> </div> <div class="type"> <div class="left">備注</div> <div class="right">{{item.type}}</div> </div> </div> </div>
.departList { margin: 5px 0; width: 98% !important; margin-left: 2% !important; border: 1px solid #ebeef5; .departItem { display: flex; div { display: flex; width: 50%; } .left { padding: 12px 10px; color: rgba(0, 0, 0, 0.85); border-right: 1px solid #e5e6eb; border-bottom: 1px solid #e5e6eb; background: #f2f3f5; width: 30.3%; font-size: 14px; } .right { padding: 12px 10px; color: #606266; border-bottom: 1px solid #e5e6eb; font-size: 14px; width: 70%; } .type { .left { border-left: 1px solid #e5e6eb; } } }
總結(jié)
到此這篇關(guān)于關(guān)于vue2使用element UI中Descriptions組件的遍歷問題詳解的文章就介紹到這了,更多相關(guān)element UI中Descriptions組件遍歷內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
拖拽插件sortable.js實現(xiàn)el-table表格拖拽效果
本文主要介紹了拖拽插件sortable.js實現(xiàn)el-table表格拖拽效果,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-02-02前端vue如何根據(jù)菜單自動生成路由(動態(tài)配置前端路由)
估計有不少人遇過這樣的需求:根據(jù)后臺數(shù)據(jù)動態(tài)添加路由和菜單,這篇文章主要給大家介紹了關(guān)于前端vue如何根據(jù)菜單自動生成路由的相關(guān)資料,需要的朋友可以參考下2024-04-04使用VUE+SpringBoot+EasyExcel?整合導入導出數(shù)據(jù)的教程詳解
這篇文章主要介紹了使用VUE+SpringBoot+EasyExcel?整合導入導出數(shù)據(jù)的過程詳解,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-05-05Vue集成three.js并加載glb、gltf、FBX、json模型的場景分析
這篇文章主要介紹了Vue集成three.js,并加載glb、gltf、FBX、json模型,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-09-09vue關(guān)于接口請求數(shù)據(jù)過大導致瀏覽器崩潰的問題
這篇文章主要介紹了vue關(guān)于接口請求數(shù)據(jù)過大導致瀏覽器崩潰的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08