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 包 webpack-hot-module-monitor 使用教程

    概述 在前端开发中,Webpack 是现代前端开发技术不可或缺的一个必备工具。它可以将多个文件打包成一个或多个文件,实现模块化开发的同时,还可以进行代码压缩、图片优化等优化操作。

    3 年前
  • npm 包 slidetoggle 使用教程

    在 Web 前端开发中,动态控制元素的展开和收起是非常常见的需求,例如实现折叠文本、切换菜单等功能。而 slidetoggle 这个 npm 包就提供了一种简单、易用的实现方案。

    3 年前
  • npm包 egg-api-wrap 使用教程

    随着前端开发的不断壮大,Node.js的流行,越来越多的前端开发人员开始关注和学习Node.js,同时也开始使用Node.js的生态系统中的工具和框架来开发自己的项目。

    3 年前
  • npm 包 hoo-inject-html-webpack-plugin 使用教程

    前言 hoo-inject-html-webpack-plugin 是一款在 webpack 打包时注入 JS、CSS、meta 等标签到 HTML 文档中的 webpack 插件。

    3 年前
  • npm 包 joi-extension-enums 使用教程

    在日常的前端开发工作中,我们常常需要对用户输入的数据进行验证。这时候,我们常常会用到 Joi 这个 JavaScript 的库来对输入的数据进行校验。在实际项目中,我们往往需要对某些字段进行枚举值的检...

    3 年前
  • npm 包 request-destination 使用教程

    在前端开发过程中,经常需要通过网络请求获取数据并在页面上展示。npm 包 request-destination 是一个可以帮助我们发送 HTTP 请求的库,它使用起来非常简单,本文将对其使用方法进行...

    3 年前
  • npm 包 ojaskulkarni-js-footer 使用教程

    在前端开发中,我们经常需要为网站添加页脚。虽然从头编写页脚不是很困难,但是可以通过使用现有的 npm 包来简化这一过程。其中一个值得一提的包是 ojaskulkarni-js-footer。

    3 年前
  • npm 包 react-native-google-analytics-bridge-meifacil 使用教程

    前言 移动端应用的数据分析无疑是一项重要的工作,而 Google Analytics 就是一个功能强大的工具。在 React Native 开发中,react-native-google-analyt...

    3 年前
  • npm 包 markdown-it-toc-x3 使用教程

    什么是 markdown-it-toc-x3? markdown-it-toc-x3 是一款基于 markdown-it 的 TOC(目录)插件,它不仅支持默认的 TOC 生成,还支持更为灵活定制的 ...

    3 年前
  • npm 包 @chix/chit 使用教程

    简介 在前端开发过程中,我们需要使用许多第三方库来实现特定的功能。npm 是目前最流行的 Node.js 包管理工具,可以帮助我们快速地安装和更新需要的第三方库。而 @chix/chit 是一款基于 ...

    3 年前
  • npm 包 @oresoftware/git.tools 使用教程

    简介 npm 是 Node.js 的包管理工具。npm 包 @oresoftware/git.tools 是一个可以帮助前端开发人员在 git 操作上更方便快捷的工具。

    3 年前
  • npm 包 @tidbits/pipe 使用教程

    在前端开发领域中,我们经常需要将数据从一种格式转换为另一种格式,并且这个转换过程通常涉及多个步骤。这时候,管道(pipe)就是一个非常有用的工具,它能够简化数据转换的过程,同时提高代码的可读性和可维护...

    3 年前
  • npm 包 `parrot-mocker` 使用教程

    介绍 parrot-mocker 是一个全局的命令行工具,它可以实现对接口进行模拟,并支持数据的动态生成,是前端开发中非常实用的工具之一。 安装 在安装之前,需要先安装 Node.js。

    3 年前
  • npm 包 amqplib-retryable 使用教程

    简介 amqplib-retryable 是一个基于 amqplib 封装的 npm 包,主要用于 RabbitMQ 消息队列的接入。该包可以实现自动重试机制的消息发送,保证消息的可靠性。

    3 年前
  • npm 包 builder-pattern-es6 使用教程

    什么是 builder-pattern-es6 builder-pattern-es6 是一个 npm 包,它提供了一种 builder pattern(构建器模式)的实现方式,使得创建对象的流程更加...

    3 年前
  • NPM包vue2-social-icons使用教程

    简介 vue2-social-icons是一个Vue.js组件,用于在Web应用程序中渲染常用的社交媒体图标。该组件包括了40个不同的社交媒体图标,使您可以快速轻松地将它们添加到您的应用程序中。

    3 年前
  • npm 包 fk-reactnative-shimmer 使用教程

    随着移动端应用的普及,越来越多的开发者开始关注 React Native。React Native 是 Facebook 推出的开源框架,它能够让开发者使用 JavaScript 和 React 语言...

    3 年前
  • npm 包 gatsby-bulma-default 使用教程

    在前端开发过程中,样式往往是一个大问题。为了解决这个问题,我们使用了各种 CSS 框架,其中 Bulma 是最流行的之一。在 Gatsby 中使用 Bulma,可以使开发变得更简单、更轻松。

    3 年前
  • npm 包 graphql-osm 使用教程

    GraphQL-OSM 是一个利用 GraphQL 技术实现的 OpenStreetMap 数据库查询工具。它提供了一些方便的 GraphQL 接口,可以帮助我们快速地查询 OSM 数据库中的信息。

    3 年前
  • npm 包 json-vuex 使用教程

    在前端开发中,我们经常要处理各种复杂的数据,为了方便管理和维护,经常使用状态管理工具。Vuex 是一个非常流行的状态管理工具,但是它的状态只能是 JavaScript 对象。

    3 年前

相关推荐

    暂无文章