npm 包 @interal/react-sortable-hoc 使用教程

前言

在前端开发中,我们经常需要对一组数据进行排序,而在实现拖拽排序时,我们不得不处理很多样式、鼠标移动事件等细节问题。这时,npm 包 @interal/react-sortable-hoc 就能够大大地帮助我们简化这个过程,方便快捷地实现拖拽排序功能。本文将详细介绍如何使用这个 npm 包。

安装

在项目中使用 npm 或 yarn 进行安装:

--- ------- ---------------------------

---- --- ---------------------------

基本使用

------ ------ - --------- - ---- --------
------ - ------------------ --------------- - ---- ------------------------------

----- ------------ - ------------------ ----- -- -- --------------------

----- ------------ - -------------------- ----- -- -- -
  ------ -
    -----
      ------------------ ------ -- -
        ------------- --------------------- ------------- ------------- --
      ---
    ------
  --
---

----- --- ------- --------- -
  ----- - -
    ------ ------ --- ----- --- ----- --- ----- --- ----- ----
  --

  --------- - -- --------- -------- -- -- -
    ---------------- ----- -- -- --
      ------ ---------------- --------- ----------
    ----
  --

  -------- -
    ----- - ----- - - -----------

    ------ -
      -----
        ------------ ---------
        ------------- ------------- -------------------------- --
      ------
    --
  -
-

-------- ---------------- --------- --------- -
  -- --------- -- ------------- -
    --- - - -------- - ------------ - --
    ----- ----- -
      ----------------------
    -
  -
  ---------------------- -- ---------------------- -------
  ------ ------
-

------ ------- ----

上面的代码实现了一个可拖拽排序的列表。SortableContainer 和 SortableElement 两个组件就是核心的拖拽排序组件,在 SortableList 组件中使用 SortableElement 以及在 SortableItem 组件中指定 index 和 key 属性,就可以将列表项进行拖拽排序。

需要注意的是,在 onSortEnd 方法中,我们需要使用 arrayMove 函数来移动元素。这个函数可以用来数组中移动元素的位置。

高级使用

Helper class

Helper class 用于定义拖拽过程中的 item 的样式和外观。有三个属性:className、style 和 innerHTML。

------------- -------------------------- --

Helper class 可以通过 helperClass 属性指定,如上例子中的 "helper-class"。这个类("helper-class")将被添加到拖拽期间渲染的元素上。

Axis

Axis 属性指定了拖拽的方向。默认是垂直方向。

------------- -------- --

现在,只能在水平方向上进行拖拽。

TransitionDuration

TransitionDuration 属性指定动画的过渡时间(单位是毫秒)。默认值为 450ms。

------------- ------------------------ --

Distance

Distance 属性指定鼠标拖拽起始位置到实际拖拽位置的距离(单位是像素)。默认值为 5px。

------------- ------------- --

LockAxis

LockAxis 属性可以锁定拖拽的方向。

------------- ------------ --

现在,只能在垂直方向上进行拖拽。

总结

@interal/react-sortable-hoc 这个 npm 包可以帮助我们省略拖拽排序中繁琐的样式和事件处理逻辑,使我们更加专注于数据排序处理的逻辑。使用此 npm 包可以更加方便快捷地实现拖拽排序功能。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/60055eb181e8991b448dc4ef


猜你喜欢

  • NPM 包 tortuga-js 使用教程

    简介 tortuga-js 是一个适用于前端开发者的一个快速生成时序图的工具。它使用简单,生成出来的图形更容易阅读与分析,是前端开发者进行时序图绘制的好帮手。 安装 在命令行中使用下面的命令进行安装:...

    2 年前
  • npm包micro-suggest使用教程

    微型建议(micro-suggest)是一个非常有用的npm包,可以帮助你在你的前端应用程序中实现基于文本的自动完成。如果你正在开发一个需要输入文本搜索的应用程序,那么这个npm包绝对值得一试。

    2 年前
  • npm 包 ri-zhi-yi 使用教程

    在前端开发中,日志监控是非常重要的一个部分。而 ri-zhi-yi 就是一款非常优秀的日志监控 npm 包,它可以帮助我们实现对应用程序错误和异常的自动捕捉、记录和上报。

    2 年前
  • npm 包 @joshgav/gdrive 使用教程

    在前端开发过程中,经常需要和 Google Drive API 进行交互。而 npm 包 @joshgav/gdrive 正是解决这个问题的良心选择。本文将详细介绍如何通过该 npm 包使用 Goog...

    2 年前
  • npm 包 node-blockchain 使用教程

    简介 node-blockchain 是一个基于 Node.js 的区块链开发工具。它能够帮助开发者快速地搭建和部署区块链应用。 在这篇文章中,我将会详细介绍如何使用 node-blockchain ...

    2 年前
  • NPM 包 yaemit-extras 使用教程

    什么是 yaemit-extras? yaemit-extras 是一个前端开发中常用的 NPM 包,可以帮助开发者更方便地进行事件处理。它基于 yaemit 拓展而来,并提供了更多的功能和方法。

    2 年前
  • npm 包 comic-sites 使用教程

    在日常开发中,我们经常会涉及到与网站数据获取有关的工作。而针对漫画网站数据的获取,npm 上有一个非常好用的包——comic-sites。本文将详细介绍如何使用该包,以及它的学习和指导意义。

    2 年前
  • npm 包 react-native-animated-hide-view 使用教程

    在 React Native 开发中,我们常常需要使用动画效果来增强用户体验。而 react-native-animated-hide-view 是一个可以让组件在显示和隐藏时拥有动画效果的 npm ...

    2 年前
  • npm 包 umeditor-revision 使用教程

    在前端开发中,我们常常需要使用富文本编辑器来让用户输入或展示复杂的文本信息。而其中一个十分常见的富文本编辑器就是百度开源的 Umeditor。在实际使用过程中,我们可能会需要对其进行一些自定义的修改和...

    2 年前
  • npm 包 dynn-fx 使用教程

    在前端开发中,我们经常需要使用一些动画效果来提升用户体验。如果每次都从头开始自己写动画代码,会浪费很多时间和精力。难道就没有现成的动画库可以用吗?当然有,其中一个就是 npm 包 dynn-fx。

    2 年前
  • npm 包 @nickthesing/bb-watch-cli-configuration 使用教程

    什么是 @nickthesing/bb-watch-cli-configuration @nickthesing/bb-watch-cli-configuration 是一个基于 Node.js 的 ...

    2 年前
  • npm包amazon-ses-wrapper的使用教程

    介绍 npm包amazon-ses-wrapper是一个基于Amazon SES的Node.js邮件发送库。它提供了简单易用的API,可以让你轻松地发送各种类型的邮件,包括HTML内容、附件等。

    2 年前
  • npm 包 auto-deploy-service 使用教程

    简介 auto-deploy-service 是一个可以帮助前端开发者快速部署前端应用的 npm 包。该包通过集成常用的自动化工具,并提供了一套简单易用的命令行工具,可帮助你实现打包、上传、部署等常用...

    2 年前
  • npm 包 @cogent-labs/yourcomponent 使用教程

    你是否曾经因为需要在多个项目中使用相同的组件而重复工作,或者因为经常需要在不同的项目中编写相似的代码而感到疲惫?如果是这样,那么 @cogent-labs/yourcomponent 可能就是你需要的...

    2 年前
  • npm 包 dlbr-hyper 使用教程

    介绍 dlbr-hyper 是一款前端开发中常用的 npm 包,它是一个轻量级的 CSS 类库,可以让我们快速创建简洁、美观的 Web 应用。该类库提供了大量的 CSS 类和预定义的样式模板,可以让我...

    2 年前
  • npm 包 google-maps-utilities 使用教程

    Google Maps 是一款非常流行的地图API,有助于在网站或应用程序中实现地图和位置服务。而 google-maps-utilities 则为 Google Maps 提供了更多的实用工具和功能...

    2 年前
  • npm 包 fetch-timeout 使用教程

    fetch-timeout 是一种非常实用的 npm 包,它可以帮助我们在使用 fetch 时设置超时时间,从而避免请求时间过长而造成应用出现卡顿或崩溃的情况。使用 fetch-timeout 不仅可...

    2 年前
  • 使用npm包 puahaha-puahaha

    使用npm包 puahaha-puahaha 介绍 npm(Node Package Manager)是Node.js中的包管理器,用于安装和发布JavaScript模块。

    2 年前
  • npm 包 rxflow 使用教程

    在现代的前端开发中,事件驱动的编程方式变得越来越流行,而 rxflow 则是一个强大的事件处理库,其提供了一种基于响应式编程的方法。 安装 在使用 rxflow 之前,需要先进行安装,可以通过 npm...

    2 年前
  • npm 包 mastercard-bintable 使用教程

    介绍 mastercard-bintable 是一个用于根据银行卡号识别发卡行的 npm 包。它允许开发人员在应用程序中引用并使用发卡行库,以便验证银行卡号是否有效。

    2 年前

相关推荐

    暂无文章