目錄
Typescript(TS)
造輪子的一些思考
首頁 web前端 js教程 React拖曳排序組件Dragact詳解

React拖曳排序組件Dragact詳解

Feb 22, 2018 pm 01:26 PM
react 詳解

先來一張圖來看看:

React拖曳排序組件Dragact詳解

Typescript(TS)

#最近一直在使用TS進行開發, Eggjs的Ts實踐也寫了一半。這玩意兒,真的是有毒的,因為能讓你上癮。

隨便將一個專案遷移到TS之上,在強大的靜態類型偵測下,你就能輕鬆的發現一堆邏輯和邊界錯誤。一番重構之後,頓時感覺代碼神清氣爽,頭皮恢復了生機!

所以,這款元件完全是用Typescript進行開發,使得使用TS的小夥伴來說,更方便快速。其次,如果你想使用Javascript開發,也是完全沒有問題的。

造輪子的一些思考

首先,我們的需求是使用者能夠方便的調整後台dash board的各種錶盤位置。

React拖曳排序組件Dragact詳解
圖片來自:https://github.com/yezihaohao/react-admin

類似一個這樣的介面,我們需要對其裡面的組件進行各種各樣的拖動(不得不說一句,他媽的,老子都做好了後台系統你就用就可以了,拖你妹啊,不讓人好好吃年夜飯。 #固定範圍(Container)內的所有掛件不能超出這個範圍。

每個掛件可以設定大小,並且按一定的margin上下分割開。
  • Container內的所有元件必須不能重疊,還要能自動排序
  • 某些元件要可以設定靜態的,也就是固定在那裡,不被佈局的任何變化而影響。
  • 手機也可以操作
  • 動手開始
  • 得益於之前寫過拖曳組件,避開了很多坑,也是寫下這款元件,主要有得特點是:

  • React元件

自動佈局的網格系統

手機上也可以操作
  • 高度自適應
  • #靜態元件(Live Demo(預覽位址) )
  • 可拖曳的組件(Live Demo(預覽地址))
  • 終於在大年初二早上,弄完了這款元件,基本上可以滿足客戶需求,然而還有一些TODO LIST:
  • 水平交換模式,目前移動的時候不是
  • 用戶動態調整每個掛件的大小,就像Windows視窗一樣

掛件拖曳把手
  • 支援響應式
  • #支援ssr,伺服器渲染
  • 如何開始?
npm install --save dragact
登入後複製
  • 寫一個例子

    //index.js
    import * as React from "react";
    import * as ReactDOM from "react-dom";
    
    import { Dragact } from 'dragact';
    import './index.css'
    
    ReactDOM.render(
        <Dragact
            col={8}
            width={800}
            margin={[5, 5]}
            rowHeight={40}
            className=&#39;plant-layout&#39;
        >
            <p key={0} data-set={{ GridX: 0, GridY: 0, w: 4, h: 2 }} className=&#39;layout-child&#39;>0</p>
            <p key={1} data-set={{ GridX: 0, GridY: 0, w: 1, h: 2 }} className=&#39;layout-child&#39;>1</p>
            <p key={2} data-set={{ GridX: 0, GridY: 0, w: 3, h: 2 }} className=&#39;layout-child&#39;>2</p>
        </Dragact>,
        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詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

    本網站聲明
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

    熱AI工具

    Undresser.AI Undress

    Undresser.AI Undress

    人工智慧驅動的應用程序,用於創建逼真的裸體照片

    AI Clothes Remover

    AI Clothes Remover

    用於從照片中去除衣服的線上人工智慧工具。

    Undress AI Tool

    Undress AI Tool

    免費脫衣圖片

    Clothoff.io

    Clothoff.io

    AI脫衣器

    Video Face Swap

    Video Face Swap

    使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

    熱工具

    記事本++7.3.1

    記事本++7.3.1

    好用且免費的程式碼編輯器

    SublimeText3漢化版

    SublimeText3漢化版

    中文版,非常好用

    禪工作室 13.0.1

    禪工作室 13.0.1

    強大的PHP整合開發環境

    Dreamweaver CS6

    Dreamweaver CS6

    視覺化網頁開發工具

    SublimeText3 Mac版

    SublimeText3 Mac版

    神級程式碼編輯軟體(SublimeText3)

    Win11管理員權限取得詳解 Win11管理員權限取得詳解 Mar 08, 2024 pm 03:06 PM

    Windows作業系統是全球最受歡迎的作業系統之一,其新版本Win11備受矚目。在Win11系統中,管理員權限的取得是一個重要的操作,管理員權限可以讓使用者對系統進行更多的操作和設定。本文將詳細介紹在Win11系統中如何取得管理員權限,以及如何有效地管理權限。在Win11系統中,管理員權限分為本機管理員和網域管理員兩種。本機管理員是指具有對本機電腦的完全管理權限

    Oracle SQL中的除法運算詳解 Oracle SQL中的除法運算詳解 Mar 10, 2024 am 09:51 AM

    OracleSQL中的除法運算詳解在OracleSQL中,除法運算是一種常見且重要的數學運算運算,用來計算兩個數相除的結果。除法在資料庫查詢中經常用到,因此了解OracleSQL中的除法運算及其用法是資料庫開發人員必備的技能之一。本文將詳細討論OracleSQL中除法運算的相關知識,並提供具體的程式碼範例供讀者參考。一、OracleSQL中的除法運算

    PHP、Vue和React:如何選擇最適合的前端框架? PHP、Vue和React:如何選擇最適合的前端框架? Mar 15, 2024 pm 05:48 PM

    PHP、Vue和React:如何選擇最適合的前端框架?隨著互聯網技術的不斷發展,前端框架在Web開發中起著至關重要的作用。 PHP、Vue和React作為三種代表性的前端框架,每一種都具有其獨特的特徵和優勢。在選擇使用哪種前端框架時,開發人員需要根據專案需求、團隊技能和個人偏好做出明智的決策。本文將透過比較PHP、Vue和React這三種前端框架的特徵和使

    PHP模運算子的作用及用法詳解 PHP模運算子的作用及用法詳解 Mar 19, 2024 pm 04:33 PM

    PHP中的模運算子(%)是用來取得兩個數值相除的餘數的。在本文中,我們將詳細討論模運算子的作用及用法,並提供具體的程式碼範例來幫助讀者更好地理解。 1.模運算子的作用在數學中,當我們將一個整數除以另一個整數時,就會得到一個商和一個餘數。例如,當我們將10除以3時,商數為3,餘數為1。模運算子就是用來取得這個餘數的。 2.模運算子的用法在PHP中,使用%符號來表示模

    Java框架與前端React框架的整合 Java框架與前端React框架的整合 Jun 01, 2024 pm 03:16 PM

    Java框架與React框架的整合:步驟:設定後端Java框架。建立專案結構。配置建置工具。建立React應用程式。編寫RESTAPI端點。配置通訊機制。實戰案例(SpringBoot+React):Java程式碼:定義RESTfulAPI控制器。 React程式碼:取得並顯示API回傳的資料。

    vue.js vs.反應:特定於項目的考慮因素 vue.js vs.反應:特定於項目的考慮因素 Apr 09, 2025 am 12:01 AM

    Vue.js適合中小型項目和快速迭代,React適用於大型複雜應用。 1)Vue.js易於上手,適用於團隊經驗不足或項目規模較小的情況。 2)React的生態系統更豐富,適合有高性能需求和復雜功能需求的項目。

    React在HTML中的作用:增強用戶體驗 React在HTML中的作用:增強用戶體驗 Apr 09, 2025 am 12:11 AM

    React通過JSX與HTML結合,提升用戶體驗。 1)JSX嵌入HTML,使開發更直觀。 2)虛擬DOM機制優化性能,減少DOM操作。 3)組件化管理UI,提高可維護性。 4)狀態管理和事件處理增強交互性。

    黑鯊手機隱藏應用的操作方法詳解 黑鯊手機隱藏應用的操作方法詳解 Mar 24, 2024 pm 12:09 PM

    黑鯊手機隱藏應用的操作方法詳解隨著手機功能的不斷完善,現代人對於手機的需求也越來越多樣化。有些人可能會在手機中保存一些私密的資訊或是個人照片,為了保護隱私安全,許多手機都提供了隱藏應用的功能。黑鯊手機作為一款專為遊戲玩家設計的手機,也為使用者提供了隱藏應用的功能。以下就來詳細介紹黑鯊手機隱藏應用的操作方法。第一步:開啟「設定」介面首先,使用者需要打開黑鯊手

    See all articles