npm 包 react-native-sort-grid 使用教程

介绍

在移动端开发中,经常用到的一个功能就是对多个 item 进行排序,比如对图片进行拖拽排序、对视频进行播放列表排序等等。而 react-native-sort-grid 就是一个可以方便地实现这个功能的 npm 包,它可以让我们快速搭建一个支持拖拽排序的 grid 组件。

安装

安装 react-native-sort-grid 只需要使用一条命令:

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

使用

react-native-sort-grid 提供了两个组件——Grid 和 SortableItem。

Grid

Grid 组件是一个布局容器,它可以将 SortableItem 组件进行排列。Grid 的示意图如下:

其中,Grid 组件有以下 props:

  • data:要显示的所有项,数据格式为一个数组;
  • renderItem(item, order):使用对应的 item 渲染每个 SortableItem;
  • onDragRelease(newOrder):当拖拽结束后触发,传入新的排序结果。

其中,renderItem 需返回一个 SortableItem 组件,代码如下:

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

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

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

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

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

SortableItem

SortableItem 组件代表着一个可移动的、可以排序的 item,它内部可以包含任何组件。SortableItem 支持以下 props:

  • order:当前 item 的位置;
  • activeOpacity:拖拽时的透明度;
  • children:SortableItem 内部渲染内容。

在 Grid 组件中,我们需要通过 renderItem 去渲染 SortableItem。而在 SortableItem 中,我们需要用到 onPressIn、onLongPress、onPressOut 这些事件,因为它们会在拖拽时被调用。

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

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

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

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

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

总结

react-native-sort-grid 提供了一个快速、简便的实现拖拽排序的方案。使用该组件可以方便地实现一个移动端应用中用到的拖拽排序功能。希望本文对大家有所帮助。

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


猜你喜欢

  • npm 包 ascom-chartist-logscale 使用教程

    介绍 ascom-chartist-logscale 是一个用于实现日历和对数比例尺的 Chartist.js 插件。它提供了一种简单的方法来渲染对数比例尺和时间序列上的数据,并支持对数坐标轴的缩放和...

    3 年前
  • npm 包 react-upload-progress 使用教程

    介绍 在 Web 开发中,文件上传功能是非常常见的需求,但是默认的上传控件使用起来不太方便,并且无法展示上传进度。这时候我们可以使用第三方的上传组件来简化上传流程,其中 react-upload-pr...

    3 年前
  • npm 包 koa2-oauth-server 使用教程

    前言 随着 Web 应用的日益普及,越来越多的网站和应用程序都开始提供用户注册、登录等功能,这些功能通常依赖于 OAuth 2.0 协议来实现。OAuth 2.0 是一种授权协议,允许一个应用程序访问...

    3 年前
  • npm 包 notice-puge 使用教程

    什么是 npm 包 notice-puge? notice-puge 是一个基于 Vue.js 开发的轻量级通知组件,它支持多种通知类型,包括成功、警告、错误以及信息。

    3 年前
  • npm 包 gatsby-plugin-tawk 使用教程

    在网站中添加实时聊天功能是非常有用的。tawk.to 是一个免费的实时聊天软件,可以帮助网站提供商业支持,并且能够增强用户与网站之间的交互。 Gatsby 是一个流行的静态网站生成器,可以帮助我们快速...

    3 年前
  • npm 包 react-grid-blues 使用教程

    简介 react-grid-blues 是一个轻量级的 React 表格组件,用于呈现数据、支持排序、筛选、分页和自定义样式。它基于 React Hooks 实现,易于拓展,并提供了丰富的 API 和...

    3 年前
  • npm 包 @ngapp/component 使用教程

    前端开发中,我们经常会用到组件化开发的方式来提高开发效率,而在 Angular 中,无论是开发大型项目还是小型应用,都离不开组件的使用。但是,每次手动创建组件,配置文件等操作都很繁琐,而通过使用 @n...

    3 年前
  • npm 包 @ngapp/directives 使用教程

    前言 在 Angular 中,指令是一种用于扩展 HTML 标记的强大方式。它们用于创建可重用的组件,这些组件可以扩展应用的功能并让代码更易于组织。 @ngapp/directives 是一个开源的 ...

    3 年前
  • npm 包 @ngapp/pipes 使用教程

    在 Angular 前端开发中,我们经常会用到管道(pipes)来转换和格式化数据。而 @ngapp/pipes 就是一款可以帮助我们更加简单高效地使用管道的 npm 包。

    3 年前
  • npm 包@hokid/generator-userfy 使用教程

    介绍 在现代前端开发中,构建工具的使用已经成为了必要的技能。而搭建工程化的项目结构也是其中的重要部分。@hokid/generator-userfy 正是为了方便前端开发者快速搭建项目结构而生的一个 ...

    3 年前
  • npm 包 amqplib-rabbitmq-pub-sub 使用教程

    在前端开发中,如何处理消息推送是一个非常重要的问题,特别是当你需要处理大量的数据或实时数据时。一种常见的方法是使用 RabbitMQ 来实现发布-订阅模式。在本文中,我们将介绍如何使用 amqplib...

    3 年前
  • npm 包 angular-validate-br 使用教程

    在前端开发中,表单验证是一个重要的环节。为了方便开发者进行表单验证,有很多前端框架提供了自己的表单验证模块,但有些情况下,我们需要自己进行表单验证。 本文将介绍一个 npm 包:angular-val...

    3 年前
  • npm 包 array-emojify 使用教程

    如果你在开发过程中需要将不同类型的数据进行分组或者排序,那么你一定需要用到数组(array)。而在 JavaScript 中,数组是非常常见且重要的数据类型之一。但是,如何将数组中的数据进行高效的维护...

    3 年前
  • npm包 obj-emojify使用教程

    简介 obj-emojify是一个可以将字符串中的emoji表情转换为emojione对象的npm包。它是基于emojione库实现的,并且可以在浏览器和node.js等环境下使用。

    3 年前
  • 前端必备技能之 npm 包 @lvchengbin/sleep 使用教程

    前端开发中,我们经常会遇到需要暂停一段时间的场景,比如等待某些资源加载完成后再执行下一步操作,或者为了更好的用户体验,需要动画效果中间暂停一段时间。这时候,就需要用到 @lvchengbin/slee...

    3 年前
  • npm 包 boujee 使用教程

    在前端开发过程中,我们经常需要使用各种库和框架来提高效率和减少代码量。npm (Node Package Manager) 是一个非常流行的 JavaScript 包管理器,它能够方便地安装和管理各种...

    3 年前
  • npm 包 emit-all-plugin 使用教程

    在前端开发中,我们经常会遇到需要监听特定事件并触发回调函数的情况。而在某些情况下,我们需要监听的事件可能比较多,如果每个事件都写一个监听函数,代码量和维护成本都会变得很高。

    3 年前
  • npm 包 remote-keyboard 使用教程

    前言 随着云计算、跨平台和移动化的发展,我们越来越需要一个可靠且方便的远程终端控制工具。而 remote-keyboard 就是这样一个基于 Node.js 的 npm 包,能够让你轻松控制远程终端。

    3 年前
  • npm 包 doggo-api-wrapper 使用教程

    简介 doggo-api-wrapper 是一个基于 Node.js 的 npm 包,用于访问 Dog CEO API,该 API 提供了各种狗的图片,品种等信息。

    3 年前
  • npm 包 nodejs-portfolio 使用教程

    在前端开发中,我们经常需要将自己的作品以一种专业的方式展示给大家,而 nodejs-portfolio 就是一个非常好用的 npm 包,它可以帮助我们快速创建一个个人作品展示页面。

    3 年前

相关推荐

    暂无文章