思路:element 表格元件自適應
專案涉及大量表格 估算 column 寬度實在是太low,所以嘗試實現自適應。核心是對資料層進行修改,程式碼提供參考,大家不必細看,主要是分享思路。
let column = [
{label:
"使用者id",prop:
"userId"},
{label:
"使用者姓名",prop:
"userName"},
{label:
"建立日期",prop:
"createData"},
]
let data = [
{
userId:
1,
userName:
"張三",
createData:
'2020-05-26 12:10:56'
},
{
userId:
2,
userName:
"李狗蛋",
createData:
'2020-05-26 12:10:56'
}
]
let resolveColumn = _cmptWidth(column,data)
console.
log(resolveColumn)
// [
// {label:
"使用者id",prop:
"userId",width:
""},
// {label:
"使用者姓名",prop:
"userName"},
// {label:
"建立日期",prop:
"createData"},
// ]
_cmptWidth(
min=
30,column,data){
// 欄位長度容器
let temp={};
// 根據第一行資料 初始化 欄位長度容器
Object.keys(data[
0]).forEach(key=>{
temp[key]=[]
})
// 將每一行資料的 欄位長度 存入 欄位長度容器 中文算做
2個字元,英文
1個
data.map(i=>{
Object.keys(i).forEach(key=>{
let str = i[key] && i[key].toString();
let cn = str && str.
match(/[\\u4e00-\\u9fa5]/g)&&str.
match(/[\\u4e00-\\u9fa5]/g).length||
0
let en = str && str.
match(/[A-Za-z0
-9]/g)&&str.
match(/[A-Za-z0
-9]/g).length||
0
let
len =Math.
max( en + cn*
2 + ,
10) ;
temp[key].push(Math.
min(
len,
min))
})
})
// 返回 新增列寬度屬性的 column
return column.map(i=>{
let width = Math.
ceil(temp[i.prop].reduce((a,b)=>a+b)/rows.length)
return {
...i,
width:width*
12+
'px'
}
})
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69923331/viewspace-2694490/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Element-ui元件庫Table表格匯出Excel表格UI元件Excel
- 封裝Vue Element的table表格元件封裝Vue元件
- element封裝可編輯表格元件封裝元件
- WPF控制元件介面自適應控制元件
- Widget小元件如何自適應高度元件
- 封裝一個優雅的element ui表格元件封裝UI元件
- 封裝Vue Element的可編輯table表格元件封裝Vue元件
- xib 控制元件寬度自適應控制元件
- WPS表格中自適應成績查詢系統
- element-ui table表格元件實現手風琴效果UI元件
- Vue.js+Element-UI走馬燈圖片自適應實踐Vue.jsUI
- Qt高仿Excel表格元件-支援凍結列、凍結行、內容自適應和合並單元格QTExcel元件
- CSS自適應佈局(左右固定 中間自適應或者右側固定 左側自適應)CSS
- element-ui匯出表格UI
- element-UI庫Table表格匯出Excel表格UIExcel
- 自適應辛普森法
- element ui表單el-form的label自適應寬度並右對齊UIORM
- 解決Element UI 表格元件懶載入資料重新整理問題UI元件
- vue前端自適應佈局,一步到位所有自適應Vue前端
- css自適應佈局CSS
- web自適應尺寸方法Web
- html iframe高度自適應HTML
- rem自適應佈局REM
- 自適應介面設計
- textview 在TableviewCell自適應TextView
- UMeditor寬度自適應
- 自適應網站教程網站
- TabelViewCell高度自適應View
- 67,表格中單元格td自適應高度,最大高度後滾動條顯示
- 記一次element-ui配置化table元件的適應性問題(橫向滾動條)UI元件
- C/C++ Qt TableWidget 表格元件應用C++QT元件
- css實現左欄固定右欄自適應,高度自適應的佈局CSS
- vue + element + 匯入、匯出excel表格VueExcel
- Element表格資料沒有重新渲染
- element中表格合併單元格
- 小程式Swiper高度自適應
- 元素自適應水平垂直居中
- textarea高度自適應詳解