拖拽-设置最小列宽

This commit is contained in:
zyn
2023-02-07 15:45:38 +08:00
parent d1590420cb
commit 930525cbd8
2 changed files with 14 additions and 7 deletions
+13 -6
View File
@@ -101,10 +101,9 @@ const ResizeHeaderOne = function(val, name ,minWidths) {
// col = getRenderCoL(key, val)
col = getRenderCoL(key, columnsAll)
let content = [].concat(children)
console.log(col)
if (col) {
let handlerVNode;
if(minColumn && minColumn.length>0){
if(minColumn && minWidths !== undefined && minColumn.length>0){
// 存放所有需要手动设置最小宽度的列的dataIndex
let colsdataIndex = []
minColumn.forEach((item)=>{
@@ -113,9 +112,12 @@ const ResizeHeaderOne = function(val, name ,minWidths) {
props: {
width: col.width,
minWidth: Math.min(item[1]),
column: JSON.parse(JSON.stringify(item[0]))
column: col
}
}, [])
content = content.concat(
handlerVNode
)
})
// 不需要手动设置最小宽度的列
if(colsdataIndex.indexOf(col.dataIndex) === -1){
@@ -126,6 +128,9 @@ const ResizeHeaderOne = function(val, name ,minWidths) {
column: col
}
}, [])
content = content.concat(
handlerVNode
)
}
}else{
handlerVNode = h(DragHandler, {
@@ -135,10 +140,10 @@ const ResizeHeaderOne = function(val, name ,minWidths) {
column: col
}
}, [])
content = content.concat(
handlerVNode
)
}
content = content.concat(
handlerVNode
)
}
return h('th', {
key,
@@ -150,6 +155,7 @@ const ResizeHeaderOne = function(val, name ,minWidths) {
export const ResizeHeader = {
methods: {
drag(columns, name ,minWidths) {
console.log(minWidths)
return {
header: {
// minWidths : 最小宽度 => [[需要设置的列,最小宽],[需要设置的列,最小宽],...]
@@ -227,6 +233,7 @@ export const ResizeColumnProvide = {
},
methods: {
_resizeColumn(w, column) {
console.log(column)
tableAll.forEach(item=>{
item.forEach((i)=>{
if(i === column && i.dataIndex === column.dataIndex){
@@ -118,7 +118,7 @@
rowKey="id"
@change="tableOnChange"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
:columns="columns" :components="drag(columns,'columns')"
:columns="columns" :components="drag(columns,'columns',JSON.parse(JSON.stringify([[columns[3],200],[columns[4],200],[columns[5],200]])))"
>
<div slot="standardInformation" slot-scope="text,result" class="box-left">
<div class="content">