最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • react-dnd 多层嵌套使用

    正文概述 掘金(silence717)   2021-01-10   987

    read-dnd 嵌套使用

    不做具体react-dnd的api讲解,如有需要请查看官网文档,描述很清晰。
    react-dnd-官网

    本文demo展示地址

    react-dnd-nested

    需求背景

    • 左侧是物料区,各个可以拖拽的小组件
    • 右侧为编辑区,可以将组件拖进去组成页面
    • 右侧编辑区内已拖拽的小组件可以在内部继续拖拽进行排序

    技术栈

    react、react-dom、mobx、mobx-react、react-dnd

    实现逻辑

    数据结构设计

    属性类型说明
    idNumber组件id(根据规则自动生成)typeString组件类型childrensArray组件下面包含的子组件
    // 数据示例如下:
    [
        {
            id: 1,
            type: 'View',
            childrens: [
                {
                    id: 345,
                    type: 'Button'
                },
                ...
            ]
        }
    ]
    

    应用主入口代码

    react-dnd 多层嵌套使用

    左侧组件使用 SourceBox 包裹

    基础使用,不做清晰说明,需要查看官网文章,代码如下:

    react-dnd 多层嵌套使用 新增组件的方法

    react-dnd 多层嵌套使用

    在这里我们需要一个递归查找当前数据的工具方法findItem

    react-dnd 多层嵌套使用

    编辑器区域实现

    由于数据是循环嵌套的,因此我们分为2个组件来实现,分别为list和item,再包含一个入口的文件。

    index.js

    react-dnd 多层嵌套使用

    list组件包含里面我们对当前数据进行循环,设置每一个的item

    react-dnd 多层嵌套使用

    item组件为核心组件,既要作为target接收组件,又需要作为source支持拖拽排序

    react-dnd 多层嵌套使用

    处理move的动作:

    react-dnd 多层嵌套使用

    项目使用

    yarn install
    yarn start
    

    打开浏览器,访问:http://localhost:3000/

    如果对你有帮助的话,欢迎star✨react-dnd-nested


    起源地下载网 » react-dnd 多层嵌套使用

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元