我的编程空间,编程开发者的网络收藏夹
学习永远不晚

jQuery实现表格的数据拖拽

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

jQuery实现表格的数据拖拽

jQuery实现将一个ant-table的数据拖拽复制到另一个ant-table,供大家参考,具体内容如下

需求

1、ant-design-vue
2、将一个嵌套在drawer中的table数据拖拽复制到drawer外面的table中

效果

拖拽中

拖拽后

HTML

<el-button type="text" size="small" class="text-btn" @click="choseField">选择字段</el-button>
// 拖拽到table
<a-table class="droptable" :columns="columns_copy" :dataSource="fieldInfoList">
.....
</a-table>
// 从drawer中拖拽数据
<field-select ref="fieldList" @setFieldList="setFieldList"></field-select>

JS

initDrop() {
            // initDrop在mounted中触发,使table区域可以接受拖拽 
            let that = this
            $('.table_container').droppable({
                scope: 'basic', // 设置两个相同的scope接受拖拽信息
                tolerance: 'fit',
                drop(e) {
                    let dropFieldInfo = {
                        enName: that.dragField.enname || '',
                        cnName: that.dragField.name || '',
                    }
                    that.fieldInfoList.push(dropFieldInfo)
                    that.repeatZhName() // 校验字段是否重复的方法
                }
            })
        },
 choseField() {
            this.$refs.fieldList.setShowState(true)  //显示drawer
            // 因为drawer中的dom对象实在打开抽屉时候才会被创建,所以不能再drawer组件中进行初始化
            this.$nextTick(() => {
                // sort-table为抽屉组件中ant-table的类名
                $('.sort-table tbody tr').draggable({
                    scope: 'basic',  //相同的scope name
                    scroll: false,
                    zIndex: 10000,  // zindex设置更高避免拖拽的数据被drawer遮住,同时去除遮罩层样式
                    helper: 'clone',
                    appendTo: 'body',  //避免遮盖
                    containment: document.getElementById('app'),
                    start: e => {
                        // rowIndex第一行是表头,数据行的rowindex从1开始
                        let currentIndex = e.target.rowIndex - 1
                        // console.log(this.$refs.fieldList.tableData[currentIndex])
                        this.dragField = this.$refs.fieldList.tableData[currentIndex]
                    },
                    stop: e => {
                        // this.eventType = 'CLICK'
                        console.log('拖拽结束事件')
                        console.log(e)
                    }
                })
            })
  },

注意事项

1、drop和drag区域要配置相同的scope
2、为了避免拖拽的helper被遮住,drag要配置zIndex和appendTo
3、如果表格有翻页或者查询功能,列表数据会刷新,jq的拖拽会失效,在getList请求方法成功之后,在初始化一次拖拽事件即可,然后使用$emit让父组件接收一下

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

jQuery实现表格的数据拖拽

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

jQuery如何实现表格的数据拖拽

这篇文章给大家分享的是有关jQuery如何实现表格的数据拖拽的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体内容如下需求1、ant-design-vue2、将一个嵌套在drawer中的table数据拖拽复制到d
2023-06-29

拖拽插件sortable.js如何实现el-table表格拖拽效果

这篇文章将为大家详细讲解有关拖拽插件sortable.js如何实现el-table表格拖拽效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。问题描述Sortable.js是一款优秀的js拖拽库,因为是原生
2023-06-29

react 实现表格列表拖拽排序的示例

本文主要介绍了react 实现表格列表拖拽排序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-02-01

jquery怎么实现拖拽table表头改变列宽

这篇文章主要讲解了“jquery怎么实现拖拽table表头改变列宽”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“jquery怎么实现拖拽table表头改变列宽”吧!效果:直接上代码,有注释:
2023-06-29

Vue+Element树形表格实现拖拽排序示例

本文主要介绍了Vue+Element树形表格实现拖拽排序示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2022-11-13

jquery如何实现表格行拖动排序

这篇文章主要介绍了jquery如何实现表格行拖动排序,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体内容如下引入JS