react拖拉流程图_react 拖拽组件 自由拖拽,垂直水平拖拽

本文介绍如何使用React和第三方库实现拖拽组件,支持水平和垂直拖拽。示例包括使用Ant Design的Tree组件和react-beautiful-dnd库,详细展示了拖拽过程中的数据处理和状态更新,适用于创建流程图或列表拖拽效果。
摘要由CSDN通过智能技术生成

import React, { useEffect, useState } from "react"

import { Tree, message } from 'antd'; //导入antd 的Tree组件

export default function App() {

const [data, setData] = useState([])

useEffect(() => {

if (data.length === 0) {

//初始化数据

setData([{ title: "组1", key: 1 },

{ title: "组2", key: 2, children: [{ title: "子组1", key: 6 }, { title: "子组2", key: 7 }, { title: "子组3", key: 9 }] },

{ title: "组3", key: 3 },

{ title: "组4", key: 4 }])

}

}, [data])

//完成拖拽

const onDrop = info => {

/**

* 这里是判断 拖拽之后的动作是否允许存在跨级拖拽交换位置等等...

* 若需要判断可以取消注释

*/

// let nodePosArr = info.node.pos.split('-')

// let dropPosArr = info.dragNode.pos.split('-')

// if (dropPosArr.length === nodePosArr.length && nodePosArr[1] !== dropPosArr[1]) return message.error("不可拖入其他类别")

// if (nodePosArr.length !== dropPosArr.length) return message.error("列表禁止跨级拖拽")

// if (!info.dropToGap) return message.error("同级列表只能互换顺序")

const dropKey

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值