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

阅读时长 5 分钟读完

介绍

在移动端开发中,经常用到的一个功能就是对多个 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

纠错
反馈