React拖拽排序组件Dragact详解

先来一张图看看:

React拖拽排序组件Dragact详解

Typescript(TS)

最近一直在使用TS进行开发,Eggjs的Ts实践也写了一半。这玩意儿,真的是有毒的,因为能让你上瘾。

随便将一个项目迁移到TS之上,在强大的静态类型检测下,你就能轻松的发现一堆逻辑和边界错误。一番重构之后,顿时感觉代码神清气爽,头皮恢复了生机!

所以,这款组件完全是用Typescript进行开发,使得使用TS的小伙伴来说,更加方便快捷。其次,如果你想使用Javascript开发,也是完全没有问题的。

造轮子的一些思考

首先,我们的需求是用户能够方便的调整后台dash board的各种表盘位置。

React拖拽排序组件Dragact详解
图片来自:https://github.com/yezihaohao/react-admin

类似一个这样的界面,我们需要对其里面的组件进行各种各样的拖动(不得不说一句,他妈的,老子都做好了后台系统你就用就可以了,拖你妹啊,不让人好好吃年夜饭。

那么首先,我们就要考虑几个点:

技术栈是React

固定范围(Container)内的所有挂件不能超出这个范围。

每个挂件可以设定大小,并且按一定的margin上下分割开。

Container内的所有组件必须不能重叠,还要能自动排序

某些组件要可以设定静态的,也就是固定在那里,不被布局的任何变动而影响。

手机也可以操作

动手开始

得益于之前写过拖拽组件,避开了很多坑,也是写下这款组件,主要有得特点是:

React组件

自动布局的网格系统

手机上也可以操作

高度自适应

静态组件(Live Demo(预览地址))

可拖拽的组件(Live Demo(预览地址))

终于在大年初二早上,弄完了这款组件,基本可以满足客户需求,然而还有一些TODO LIST:

水平交换模式,目前移动的时候不是

用户动态调整每个挂件的大小,就像Windows窗口一样

挂件拖动把手

支持响应式

支持ssr,服务器渲染

如何开始?

npm install --save dragact

登录后复制

写一个例子

//index.jsimport * as React from "react";import * as ReactDOM from "react-dom";import { Dragact } from 'dragact';import './index.css'ReactDOM.render(            

0

1

2

, document.getElementById('root'));

登录后复制

加点css

/** index.css */.plant-layout {    border: 1px solid black;}.layout-child {    height: 100%;    background: #ef4;    display: flex;    justify-content: center;    align-items: center;}

登录后复制

想要一个新的特色、功能?

如果你想添加一些新功能或者一些非常棒的点子,请发起issue告诉我,谢谢!
如果你已经阅读过源代码,并且添加了一些非常牛X

以上就是React拖拽排序组件Dragact详解的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2786315.html

(0)
上一篇 2025年3月8日 17:42:24
下一篇 2025年2月28日 12:02:27

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 博客内容管理系统详解

    一、更新内容 数据库重新设计,改成以用户分组的subDocs数据库结构 应数据库改动,所有接口重新设计,并统一采用和立马理财一致的接口风格 删除原来游客模式,增加登录注册功能,支持弹窗登录。 增加首页,展示最新发布文章和注册用户 增加修改密…

    编程技术 2025年3月8日
    200
  • react、webpack、跨域代理多页面

    初学react,利用webpack进行工程化开发管理,遇到一些问题,如多页面处理,跨域代理的设置,如何同时引入使用jquery。第一次试水,简单写了一个表格组件。 先照着react官网提供的教程使用create-react-app创建rea…

    编程技术 2025年3月8日
    200
  • react轮播图组件react-slider-light详解

    本文主要和大家分享react轮播图组件react-slider-light详解,希望能帮助到大家。 react-slider-light a lightweight slider component built with react. 一个…

    编程技术 2025年3月8日
    200
  • React组件Dragact 0.1.4详解

    dragact 是一款react组件,他能够使你简单、快速的构建出一款强大的 拖拽式网格(grid)布局. 仓库地址:Dragact 经过几天的迭代时间Dragact已经能够支持自由缩放功能了(resize) 废话不多说,来看看demo 新…

    2025年3月8日
    200
  • React组件生命周期详解

    在使用react创建组件的过程中,会调用一个render方法,以及触发若干生命周期的方法。本文主要和大家讲一讲这些生命周期的方法是何时被执行的。 理解组件的生命周期,当组件被创建或销毁时,可以执行某些操作。此外,当 props 和 stat…

    2025年3月8日 编程技术
    200
  • JS函数实例详解

    函数是由事件驱动的或者当它被调用时执行的可重复代码块,JavaScript函数语法,函数就是包裹在花括号中的代码块,前面使用了关键词function: function functionname(){     这里是要执行的代码 } 当调用…

    编程技术 2025年3月8日
    200
  • js编译和执行顺序详解

    Javascript是一段一段执行的,以script标签来分割,执行每一段之前,都有一个“预编译”, 预编译干的活有两:1.声明所有var变量(初始为undefined),2.解析定义式函数语句。  有个关于 “window作用域下,a =…

    编程技术 2025年3月8日
    200
  • JS原型详解说明

    本文主要和大家分享JS原型详解说明,原型的5个规则,希望本文能帮助到大家。 所有的引用类型(数组,对象,函数),都具有对象特性,即可自由扩展属性(除了“null”) var obj ={};obj.a=100//100var arr=[];…

    编程技术 2025年3月8日
    200
  • js变量提升详解

    1.JavaScript代码执行分为两个阶段: 预解析阶段:在预解析阶段,js会对以var声明的变量,和function开头的语句块进行提升,将var声明的变量和function 提升至代码的最前面。需要注意的时,function整体提升,…

    编程技术 2025年3月8日
    200
  • js普通函数和构造函数详解

    本文主要和大家分享js普通函数和构造函数,希望能帮助大家更好理解什么是js普通函数和构造函数。 1、构造函数也是一个普通函数,创建方式和普通函数一样,但构造函数习惯上首字母大写 2、构造函数和普通函数的区别在于:调用方式不一样 3、普通函数…

    2025年3月8日 编程技术
    200

发表回复

登录后才能评论