全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

使用React从头开始拖放

发布时间:2022-09-14 11:46:10
发布人:syq

  今天是有关如何创建一组 React 组件来处理拖放的教程。拖放是互联网的奥秘之一。我们在开发人员的生活中都用过一次它们,但实际上我们从未想过它是如何工作的。好吧,今天,它会改变!

使用React从头开始拖放

  本文仅供参考。所有框架都有大量的拖放库,我强烈建议您使用其中之一!

  理解

  在开始任何编码之前,让我们尝试进一步了解拖放的工作原理。

  拖放主要由浏览器处理。要允许元素可拖动,您所要做的就是将属性添加到draggable="true"div

  悬垂和掉落与容器系统一起工作。一个容器将包含您的可拖动项目,您将它拖放到另一个容器中。

  还有一些工作可以使容器准备好接受可拖动的项目。

  最后,我们必须处理丢弃并更新我们的状态。

  就这么简单!让我们看看它如何与 React 配合使用。

  创建我们的组件

  在开始使用拖放之前,我们将开始创建组件,以使我们的生活更轻松。

  首先,让我们创建可拖动的项目。此项目将是一个简单的文本,以便我们可以拖动它。我们还将属性设置为 true。draggable

21

  接下来,让我们创建一个 Box 组件。此组件将是一个容器,用于容器可拖动的项:

22

  同样在我们的课程中,您将找到该课程:App.cssbox

23

  接下来,我们将开始使容器准备好与可拖动组件进行交互。

  处理事件

  我们将依赖于 3 个事件:

  拖动回车键 (dragenter)

  拖动 (dragover)

  落 (drop)

  我们将在这方面对待 和 相同,但两者都需要使用。dragenterdragover

  可拖动和容器之间的交互

  为了使可拖动的项和容器交互,我们的第一步是调用 when 或 trigger。通过这样做,我们的容器将成为一个有效的目标:

24

  另外,让我们在应用程序中使用我们的 Box 组件:

25

  立即试用您的应用程序!如果拖动并四处移动,您将在鼠标旁边看到此图标:drag me

26

  根据您的操作系统,它会显示一些不同,但你会认出它!

  您可能已经注意到,此图标也显示在当前所选图标的上方。这不是我们想要的。

  让我们稍微更改一下代码,使其不在初始框中显示此图标:

27

  移动我们的可拖动并保持状态

  我们要做的第一件事是为选择添加一个状态(我们将在此处使用位置),并以编程方式呈现 Box:

28

  我知道使用索引作为键是一种不好的做法,但由于此示例非常简单,我无法使用其他任何内容。

  在 box 组件中,让我们处理 drop 事件并调用回调:onSelect

29

 现在再次尝试你的应用,你将能够将可拖动的可拖动内容从一个容器移动到另一个容器!

  我希望这篇文章能帮助你更好地理解拖放是如何工作的!

相关文章

朴素贝叶斯、决策树、K 近邻、SVM、逻辑回归最大熵模型的应用场景是什么?

朴素贝叶斯、决策树、K 近邻、SVM、逻辑回归最大熵模型的应用场景是什么?

2023-10-14
精确率、召回率、F1 值、ROC、AUC 各自的优缺点是什么?

精确率、召回率、F1 值、ROC、AUC 各自的优缺点是什么?

2023-10-14
什么是TestOps测试运维?

什么是TestOps测试运维?

2023-10-14
有什么免费的bug管理系统?

有什么免费的bug管理系统?

2023-10-14

最新文章

常见网络安全面试题:Windows常用的命令有哪些?

常见网络安全面试题:Windows常用的命令有哪些?

2023-10-09
常见网络安全面试题:根据设备告警如何展开排查?

常见网络安全面试题:根据设备告警如何展开排查?

2023-10-09
常见网络安全面试题:mysql加固呢?(数据库加固)

常见网络安全面试题:mysql加固呢?(数据库加固)

2023-10-09
常见网络安全面试题:windows和linux加固?(操作系统加固)

常见网络安全面试题:windows和linux加固?(操作系统加固)

2023-10-09
在线咨询 免费试学 教程领取