思路: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
- element封裝可編輯表格元件封裝元件
- 封裝Vue Element的table表格元件封裝Vue元件
- Widget小元件如何自適應高度元件
- WPF控制元件介面自適應控制元件
- 封裝一個優雅的element ui表格元件封裝UI元件
- 封裝Vue Element的可編輯table表格元件封裝Vue元件
- element-ui table表格元件實現手風琴效果UI元件
- Vue.js+Element-UI走馬燈圖片自適應實踐Vue.jsUI
- Qt高仿Excel表格元件-支援凍結列、凍結行、內容自適應和合並單元格QTExcel元件
- 自適應案例
- element-UI庫Table表格匯出Excel表格UIExcel
- element-ui匯出表格UI
- element ui表單el-form的label自適應寬度並右對齊UIORM
- textarea 高度自適應
- 圖片自適應
- JFrame自適應大小
- 自適應辛普森法
- C/C++ Qt TableWidget 表格元件應用C++QT元件
- 解決Element UI 表格元件懶載入資料重新整理問題UI元件
- vue前端自適應佈局,一步到位所有自適應Vue前端
- 67,表格中單元格td自適應高度,最大高度後滾動條顯示
- css自適應佈局CSS
- web自適應尺寸方法Web
- 自適應介面設計
- Android 螢幕自適應Android
- html iframe高度自適應HTML
- LMS自適應濾波
- vxe-table v3 表格中使用 el 整合 element-ui 元件庫的UI元件
- 記一次element-ui配置化table元件的適應性問題(橫向滾動條)UI元件
- vue + element + 匯入、匯出excel表格VueExcel
- element-tree-grid(表格樹)的使用
- element中表格合併單元格
- Element表格資料沒有重新渲染
- 原生表格元件--GridManager元件
- textarea文域高度自適應
- textarea高度自適應詳解
- 元素自適應水平垂直居中