Skip to content

Table 表格 - 行拖拽

通过 drag-config 配置行拖拽功能,支持拖拽排序、拖拽手柄、拖拽事件监听等能力。

拖拽调整行顺序

设置 drag-configrow: true 开启行拖拽排序。鼠标按住行即可拖动。

序号
姓名
年龄
部门
1
张三
28
技术部
2
李四
32
产品部
3
王五
25
设计部
4
赵六
30
运营部
5
钱七
27
市场部
6
孙八
35
人事部
拖拽调整行顺序

自定义拖拽手柄

通过 drag-config.handle 指定拖拽手柄的 CSS 选择器,仅在手柄区域拖动才能触发拖拽,避免误操作。

序号
任务名称
优先级
状态
1
需求评审
进行中
2
UI 设计
已完成
3
前端开发
待开始
4
后端开发
待开始
5
测试
待开始
6
上线
待开始
拖拽手柄

冻结列 + 拖拽

行拖拽可以与固定列 (fixed) 配合使用。

ID
姓名
部门
职位
薪资
城市
手机号
1
张三
技术部
前端工程师
15000
北京
13800001111
2
李四
产品部
产品经理
18000
上海
13800002222
3
王五
设计部
UI 设计师
14000
广州
13800003333
4
赵六
运营部
运营总监
22000
深圳
13800004444
5
钱七
市场部
市场经理
16000
杭州
13800005555
冻结列 + 行拖拽

拖拽事件

通过 drag-configonDragStartonDragEnd 回调,或监听 drag-end 事件,获取拖拽状态信息。

排序
名称
ID
1
第一项
1
2
第二项
2
3
第三项
3
4
第四项
4
5
第五项
5

事件日志:

拖拽行以查看事件日志

拖拽事件

树结构拖拽

行拖拽可以与树形数据 (tree-config) 配合使用,支持拖拽树节点调整顺序。

名称
负责人
技术部
张总
前端组
李组长
张三
李四
后端组
王组长
王五
赵六
产品部
刘总
产品一组
陈组长
产品二组
黄组长
树形数据拖拽

API

DragConfig 拖拽配置

通过 drag-config 属性传入。

属性说明类型默认值
row是否可拖拽行booleanfalse
column是否可拖拽列booleanfalse
handle拖拽手柄 CSS 选择器string
animation动画时长(毫秒)number150
onDragStart拖拽开始回调({ type, data, index }) => void
onDragEnd拖拽结束回调({ type, oldIndex, newIndex, data }) => void
crossTable是否支持跨表格拖拽booleanfalse
dragClass拖拽时的样式类string
ghostClass幽灵元素样式类string

事件

事件名说明参数
drag-end拖拽结束时触发{ type: 'row' | 'column', oldIndex: number, newIndex: number, data: unknown[] }

onDragStart 回调参数

参数说明类型
type拖拽类型'row' | 'column'
data被拖拽的数据unknown
index被拖拽的索引number

onDragEnd 回调参数

参数说明类型
type拖拽类型'row' | 'column'
oldIndex拖拽前索引number
newIndex拖拽后索引number
data拖拽后的数据unknown[]

Released under the MIT License.