iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >react拖拽组件react-sortable-hoc如何使用
  • 308
分享到

react拖拽组件react-sortable-hoc如何使用

2023-07-05 05:07:23 308人浏览 泡泡鱼
摘要

这篇“React拖拽组件react-sortable-hoc如何使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“react

这篇“React拖拽组件react-sortable-hoc如何使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“react拖拽组件react-sortable-hoc如何使用”文章吧。

使用react-sortable-hoc实现拖拽

如图:

react拖拽组件react-sortable-hoc如何使用

提示:下面案例可供参考

1.文件1

代码如下(示例):文件名称:./draGComponents

import * as React from 'react'import {    sortableContainer,    sortableElement,    sortableHandle,} from "react-sortable-hoc"; // 拖拽的关键组件const Sortable: React.FC<any> = (props) => {    const { dataSource = [], ComSortItem, sortEnd } = props;    // 拖拽时原列表替换    function arrayMoveMutable(array, fromIndex, toIndex) {        const startIndex = fromIndex < 0 ? array.length + fromIndex : fromIndex;        if (startIndex >= 0 && startIndex < array.length) {            const endIndex = toIndex < 0 ? array.length + toIndex : toIndex;            const [item] = array.splice(fromIndex, 1);            array.splice(endIndex, 0, item);        }    }    // 拖拽时返回新数组    function arrayMoveImmutable(array, fromIndex, toIndex) {        array = [...array];        arrayMoveMutable(array, fromIndex, toIndex);        return array;    }    // 拖拽容器    const SortableContainer = sortableContainer(({ children }) => {        return <div>{children}</div>;    });    // 拖拽ico    const DragHandle = sortableHandle((value1, sortIndex1) => (        <div id='ListItem' className='ListItem' >            <div className="ChildCom">                <ComSortItem data={value1} index={sortIndex1} updateData={updateData} />            </div>        </div>    ));    function handleDelete(index) {        const List = [...dataSource];        List.splice(index, 1)        sortEnd(List);    }    // 数据更新    function updateData(val, index) {        const List = [...dataSource];        List[index] = val;        sortEnd(List);    }    // 拖拽体    const SortableItem = sortableElement(({ value, sortIndex }) => {        return (            // <div id='ListItem' className='ListItem' >            //     <DragHandle value1={value} sortIndex1={sortIndex} />            // </div>            <DragHandle valuedata={value} sortIndexdata={sortIndex} />        );    });    // 拖拽后回调    const onSortEnd = ({ oldIndex, newIndex }) => {        const List = arrayMoveImmutable(dataSource, oldIndex, newIndex);        sortEnd(List);    };    return (        <>            <SortableContainer onSortEnd={onSortEnd} useDragHandle helperClass="row-dragging-item">                {dataSource.length > 0 &&                    dataSource.map((value, index) => (                        <SortableItem                            key={`sortable-item-${index}`}                            index={index}                            value={value}                            sortIndex={index}                        />                    ))}            </SortableContainer>        </>    );}export default Sortable;

2.文件2

代码如下(示例):文件名称&rsquo;./usedrag&rsquo;

import * as React from 'react'import { Checkbox } from 'antd'import Sortable from './dragcomponents'import './index.sCSS'const _ = require('lodash')import store from './store'import { SAVE_RENDER_ALL_DATA } from './actionType'const Usedrag: React.FC<any> = (props) => {    const { state, dispatch } = React.useContext(store);    // 自定义拖拽体    const {upDateRenderData} = props    const showdata ={...props.renderData}    function AddFORM(showdata) {        return (            < div className='ItemBox'>                                <div className='name'><span className="icon iconfont iconyidongshu"></span>{showdata.data.valuedata.fieldName}</div>                <div className='Opt'>                    <span>控件标签显示名称<span>{showdata.data.valuedata.labelName}</span></span>                    <span>所占列宽<span>{showdata.data.valuedata.span}</span></span>                    {}                </div>            </div>        )    }    const updateSource = (val) => {        const arrdata: any = _.cloneDeep(props.renderData)        const arr: any = _.cloneDeep(val)        if(JSON.stringify(arrdata) !== jsON.stringify(arr)){            for (let i = 0; i <= arr.length - 1; i++) {                arr[i].edit = 1;            }        }        // upDateRenderData(arr)        dispatch({            type: SAVE_RENDER_ALL_DATA,            value: arr        })    }    return (        <div className='RightBox' >            <div className='item-con' style={{ overflow: 'auto' }}>                <Sortable                    className='sortable'                    dataSource={...props.renderData}                    ComSortItem={(p) => <AddForm {...p} />}                    sortEnd={(val) => {                        updateSource(val)                    }}                />            </div>        </div>    );};export default Usedrag

3.使用

代码如下(示例):

import Usedrag from './usedrag';<Usedrag renderData={renderData}/>

以上就是关于“react拖拽组件react-sortable-hoc如何使用”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网精选频道。

--结束END--

本文标题: react拖拽组件react-sortable-hoc如何使用

本文链接: https://www.lsjlt.com/news/349914.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • react拖拽组件react-sortable-hoc如何使用
    这篇“react拖拽组件react-sortable-hoc如何使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“react...
    99+
    2023-07-05
  • react拖拽组件react-sortable-hoc的使用
    目录1.文件12.文件23.使用使用react-sortable-hoc实现拖拽 如图: 提示:下面案例可供参考 1.文件1 代码如下(示例):文件名称:./dragcompone...
    99+
    2023-02-24
    react拖拽组件 react sortable-hoc
  • react-beautiful-dnd如何实现组件拖拽
    这篇文章将为大家详细讲解有关react-beautiful-dnd如何实现组件拖拽,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.安装在已有react项目中 执行以下命令 so easy。# ...
    99+
    2023-06-20
  • React拖拽调整大小的组件
    本文实例为大家分享了React拖拽调整大小的组件,供大家参考,具体内容如下 一、实现流程 1.使用React.cloneElement加强包裹组件,在包裹的组件设置绝对定位,并在组件...
    99+
    2024-04-02
  • react-dnd如何实现拖拽
    这篇文章主要介绍了react-dnd如何实现拖拽的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇react-dnd如何实现拖拽文章都会有所收获,下面我们一起来看看吧。 ...
    99+
    2024-04-02
  • react-beautiful-dnd 实现组件拖拽功能
    目录1.安装2.APi3.react-beautiful-dnd demo3.1 demo1 纵向组件拖拽3.2 demo2 水平拖拽3.3 demo3实现一个代办事项的拖拽(纵向 ...
    99+
    2024-04-02
  • React如何使用sortablejs实现拖拽排序
    目录React使用sortablejs实现拖拽排序sortablejs之强大的拖拽库安装基本示例常用配置总结React使用sortablejs实现拖拽排序 1、使用npm装包 $ n...
    99+
    2023-01-16
    React使用sortablejs sortablejs实现拖拽排序 sortablejs拖拽排序
  • React 高阶组件HOC用法归纳
    一句话介绍HOC 何为高阶组件(HOC),根据官方文档的解释:“高阶组件是react中复用组件逻辑的一项高级技术。它不属于react API的组成部分,它是从react自身组合性质...
    99+
    2024-04-02
  • React组件如何使用
    本篇内容主要讲解“React组件如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“React组件如何使用”吧!组件的定义:理解:用来实现局部功能效果的代码和资源的集合(html/css/js...
    99+
    2023-07-05
  • 怎么在Html5中实现一个react拖拽排序组件
    今天就跟大家聊聊有关怎么在Html5中实现一个react拖拽排序组件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。第一步是先了解H5拖放的相关属性,MDN上有详细的说明,链接为htt...
    99+
    2023-06-09
  • react项目中使用react-dnd实现列表的拖拽排序功能
    目录1.先安装依赖2.创建一个 index.js 文件3.新建example.js文件4.新建TopicLis.js文件5.新建 ItemTypes.js现在有一个新需求就是需要对一...
    99+
    2023-02-06
    react-dnd列表的拖拽排序 react-dnd拖拽排序 react拖拽排序
  • 使用react-beautiful-dnd实现列表间拖拽踩坑
    目录为什么选用react-beautiful-dnd 基本使用方法 基本概念使用方法使用过程中遇到的问题 总结 参考资料为什么选用react-beautiful-dnd 相比于re...
    99+
    2024-04-02
  • React Router V5怎么使用HOC组件实现路由拦截功能
    本篇内容主要讲解“React Router V5怎么使用HOC组件实现路由拦截功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“React Router ...
    99+
    2023-07-05
  • VUE使用draggable实现组件拖拽
    本文实例为大家分享了draggable组件拖拽实例,供大家参考,具体内容如下 实现步骤 1、导入draggable依赖 npm i -S vuedraggable 2、引入dragg...
    99+
    2024-04-02
  • 如何使用IOC解耦React组件
    小编给大家分享一下如何使用IOC解耦React组件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!IOC(控制反转)是一种编程思想...
    99+
    2024-04-02
  • react如何使用react-bootstrap
    这篇文章主要介绍了react如何使用react-bootstrap,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。react入门之搭配环境(一...
    99+
    2024-04-02
  • React父组件如何调用子组件
    本篇内容介绍了“React父组件如何调用子组件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!调用方法:1、类组件中的调用可以利用React....
    99+
    2023-07-04
  • 如何声明react组件
    这篇文章主要为大家展示了“如何声明react组件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何声明react组件”这篇文章吧。 ...
    99+
    2024-04-02
  • React如何创建组件
    目录前言 组件介绍创建类组件 关于 state 关于 render 创建函数组件 渲染组件 合成组件 提取组件 Props 是只读的 前言 这节我们将介绍 React 中组件的类别...
    99+
    2024-04-02
  • 如何使用React进行组件库开发
    小编给大家分享一下如何使用React进行组件库开发,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!概述我们都知道,组件化的开发模式...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作