>
{{ scope.row[item.value] }}
{{ scope.row[item.value] }}
{{ scope.row[item.value] }}
//拖拽列
const columnDrop2 = (dom) => {
if (!dom) return
Sortable.create(dom.$el.querySelector('.el-table__header-wrapper>.el-table__header tr'), {
handle: '.allowdrag', //除了选择列都可以选择
onEnd: (sortableEvent) => {
const targetThElem = sortableEvent.item;
const wrapperElem = targetThElem.parentNode;
const newIndex = sortableEvent.newIndex;
const oldIndex = sortableEvent.oldIndex;
const oldTrElement = wrapperElem.children[oldIndex];
const currRow = state.pageDataTitle?.splice(oldIndex, 1)[0];
state.pageDataTitle?.splice(newIndex, 0, currRow);
if (newIndex > oldIndex) {
wrapperElem.insertBefore(targetThElem, oldTrElement)
} else {
wrapperElem.insertBefore(
targetThElem,
oldTrElement ? oldTrElement.nextElementSibling : oldTrElement
)
}
},
})
}
{{ scope.row[item.value] }}
//解决向选择列拖动的bug
function tableRowClassName(row) {
if (row.columnIndex == 0) {
return "filtered";
}
return "";
}
//拖拽列
const columnDrop2 = (dom) => {
if (!dom) return
Sortable.create(dom.$el.querySelector('.el-table__header-wrapper>.el-table__header tr'), {
handle: '.allowdrag',
onEnd: (sortableEvent) => {
const targetThElem = sortableEvent.item;
const wrapperElem = targetThElem.parentNode;
const newIndex = sortableEvent.newIndex;
const oldIndex = sortableEvent.oldIndex;
const oldTrElement = wrapperElem.children[oldIndex];
const currRow = state.pageDataTitle?.splice(oldIndex, 1)[0];
state.pageDataTitle?.splice(newIndex, 0, currRow)
if (newIndex > oldIndex) {
wrapperElem.insertBefore(targetThElem, oldTrElement)
} else {
wrapperElem.insertBefore(
targetThElem,
oldTrElement ? oldTrElement.nextElementSibling : oldTrElement
)
}
},
//解决向选择列拖动的bug
onMove(e) {
return e.related.className.indexOf("filtered") === -1;
}
})
}
完整代码
{{ scope.row[item.value] }}
//拖拽列
const columnDrop2 = (dom) => {
if (!dom) return
Sortable.create(dom.$el.querySelector('.el-table__header-wrapper>.el-table__header tr'), {
handle: '.allowdrag',
onEnd: (sortableEvent) => {
const targetThElem = sortableEvent.item;
const wrapperElem = targetThElem.parentNode;
const newIndex = sortableEvent.newIndex;
const oldIndex = sortableEvent.oldIndex;
const oldTrElement = wrapperElem.children[oldIndex];
const currRow = state.pageDataTitle?.splice(oldIndex, 1)[0];
state.pageDataTitle?.splice(newIndex, 0, currRow)
if (newIndex > oldIndex) {
wrapperElem.insertBefore(targetThElem, oldTrElement)
} else {
wrapperElem.insertBefore(
targetThElem,
oldTrElement ? oldTrElement.nextElementSibling : oldTrElement
)
}
},
//解决向选择列拖动的bug
onMove(e) {
return e.related.className.indexOf("filtered") === -1;
}
})
}
//解决向选择列拖动的bug
function tableRowClassName(row) {
if (row.columnIndex == 0) {
return "filtered";
}
return "";
}
效果图
QQ录屏20231211155823