Ant Design Vue2 表格实现可拖动的伸缩列,阻止拖动后排序

一:安装 vue-draggable-resizable 插件

npm install --save [email protected]

 二:如果多处地方需要使用建议放在mixins里面,只有一个页面使用直接写在要使用的页面,我这里是放在mixins里面

import Vue from "vue";

import VueDraggableResizable from "vue-draggable-resizable";

Vue.component("vue-draggable-resizable", VueDraggableResizable);

function initDrag(columns) {

  const draggingMap = {};

  columns.forEach(col => {

    draggingMap[col.key] = col.width;

  });

  const draggingState = Vue.observable(draggingMap);

  return (h, props, children) => {

    let thDom = null;

    // 由于drag事件结束后必然会出发click事件,所以需要一个参数去判断当前操作是click点击事件还是drag拖拽事件

    // 阻止拖动后触发排序事件,此方法只能在vue2+antd1上使用,对于其他版本并不适配。

    let isDrag = false;

    const { key, ...restProps } = props;

    let col;

    if (key === "selection-column") {

      //表格加了复选框,不加这个判断col会是undefided

      col = {};

    } else {

      col = columns.find(col => {

        const k =

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值