UNPKG

vxe-table

Version:

A PC-end table component based on Vxe UI, supporting copy-paste, data pivot table, and high-performance virtual list table solution.

47 lines (46 loc) 1.39 kB
import XEUtils from 'xe-utils'; import { addClass, removeClass } from '../../ui/src/dom'; const rowMoveCls = 'row--drag-move'; const colMoveClass = 'col--drag-move'; /** * 上下拖拽 */ export function moveRowAnimateToTb(elemList, offsetTop) { XEUtils.arrayEach(elemList, trEl => { trEl.style.transform = `translateY(${offsetTop}px)`; }); requestAnimationFrame(() => { XEUtils.arrayEach(elemList, trEl => { addClass(trEl, rowMoveCls); trEl.style.transform = ''; }); }); } export function clearRowAnimate(elem) { setTimeout(() => { if (elem) { XEUtils.arrayEach(elem.querySelectorAll(`.vxe-body--row.${rowMoveCls}`), elem => removeClass(elem, rowMoveCls)); } }, 500); } /** * 左右拖拽 */ export function moveColAnimateToLr(elemList, offsetLeft) { XEUtils.arrayEach(elemList, trEl => { trEl.style.transform = `translateX(${offsetLeft}px)`; }); requestAnimationFrame(() => { XEUtils.arrayEach(elemList, trEl => { addClass(trEl, colMoveClass); trEl.style.transform = ''; }); }); } export function clearColAnimate(elem) { setTimeout(() => { if (elem) { XEUtils.arrayEach(elem.querySelectorAll(`.vxe-table--column.${colMoveClass}`), elem => removeClass(elem, colMoveClass)); } }, 500); }