为web表格提供一种类似excel拖动多选以及window系

table-select-drag 简介

为web表格提供一种类似excel拖动多选以及window系统文件选择的拖拉多选的功能

只需要为你的表格添加一行代码(v-table-frag)

目前只针对技术栈为(element ui + Vue)的项目

功能

多选:

拖拉多选

分段多选:

按住shift拖拉可分段多选

文档 入门

身为开发者你需要了解:

点击这里

安装

npm i table-select-drag 使用

1、插件引用

全局引用(main.js中)

import 'table-select-drag'

2、绑定指令

在el-table标签中添加v-table-frag指令

<el-table v-table-frag ref="multipleTable" :data="tableData" tooltip-effect="dark" style="width: 100%" @selection-change="handleSelectionChange"> <el-table-column type="selection" width="55"> </el-table-column> <el-table-column label="日期" width="120"> <template slot-scope="scope">{{ scope.row.date }} </template> </el-table-column> <el-table-column prop="name" label="姓名" width="120"> </el-table-column> <el-table-column prop="address" label="地址" show-overflow-tooltip> </el-table-column> </el-table> 选项

由于开发者表格数据源、多选数据源命名不统一,支持开发者传入自定义的属性名称.

自定义指令入参

v-table-drag ="{tableDataName: 'tableData2',changesListName: 'multipleSelection2'}" tableDataName(可选) 类型String? 默认值tableData 描述:表格所渲染数据源数组的属性名 changesListName(可选) 类型String? 默认值multipleSelection 描述:@selection-change多选事件中用于存储多选数据的数组属性名 实现思路

Vue全局自定义指令 + DOM操作 + 虚拟DOM操作 + ES6 + el-table的@selection-change事件

监听鼠标点击事件:进行获取鼠标位置、DOM、虚拟DOM节点、监听键盘事件等一系列初始化操纵。 监听鼠标移动事件:实时动态渲染选框、遍历DOM节点获取tr位置,与选框区域对比判断选择状态,存放数据(采用节流降低性能开销) 监听鼠标抬起事件:多选数据去重,变量初始化 作者

QQ:1415580200

版权声明:

1、该文章(资料)来源于互联网公开信息,我方只是对该内容做点评,所分享的下载地址为原作者公开地址。
2、网站不提供资料下载,如需下载请到原作者页面进行下载。