精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

基于自然流布局的可視化拖拽搭建平臺設計方案

開發 前端
LowCode 是高效、高性能的拖拽式低代碼開發平臺. 也是筆者最近一直在研究的方向, 對于可視化搭建平臺的實現方案筆者之前寫過很多文章, 這里帶大家探索一個新方向——基于自然流布局的可視化搭建平臺.

LowCode 是高效、高性能的拖拽式低代碼開發平臺. 也是筆者最近一直在研究的方向, 對于可視化搭建平臺的實現方案筆者之前寫過很多文章, 這里帶大家探索一個新方向——基于自然流布局的可視化搭建平臺.

在我們之前實現的 h5-dooring 搭建平臺中, 我們采用了網格布局的方式來實現拖拽生成H5頁面或者Web app, 其好處就是靈活簡單, 用戶基本沒有任何使用成本, 在前端層也能做一定的橫向擴展, 但是存在幾個缺陷:

  • 實現嵌套組件比較復雜
  • 沒有層的概念

雖然通過改造可以實現層和嵌套的問題, 最近也在努力往這個方向實現(雖然和設計初衷相駁, dooring的初衷是抹去層和嵌套的概念, 讓搭建扁平化和智能化, 所以沒有采用自由布局的方案)

但是如果一定要實現嵌套和層的功能, 有沒有另一種更簡單的方案呢? 筆者目前想到了兩種解決方案:

將智能布局改為自由布局, 即可以采用類似 react-resizable 的這種方案

基于自然流來實現, 也就是抹去定位的概念, 完全基于元素在文檔的順序, 層級和定位的選擇權交給用戶

因為第一種方案筆者在dooring的早期已經實現過一版, 最后棄用采用了網格布局, 所以說我們來探討一下第二種方案的實現.

基于自然流布局實現拖拽生成頁面

自然流布局的好處就是我們不用通過定位的方式來限定元素的位置等信息, 而是以html文檔流的方式來布局元素, 并且用戶可以靈活的設置元素的層級(layer)和偏移(transform), 接下來我們來看看簡單的實現效果.

1. demo效果

由上圖的demo我們可以發現組件在畫布中的布局完全是默認的文檔流的方式, 所以我們有更靈活的布局實現.

2. 實現思路

具體實現思路主要分以下幾個部分:

  • 組件區拖拽至畫布
  • 畫布區拖拽
  • 組件編輯器和更新機制

第一點和第三點我們在 H5-dooring中已經實現了, 感興趣的可以看我之前的文章, 我們這里重點來實現畫布區拖拽, 也是比較核心的環節.

2.1 H5拖放api基本介紹

拖放(Drag 和 drop)是 HTML5 標準的組成部分, 早已被大多數瀏覽器支持. 我們目前使用的拖放插件基本上基于 H5 拖放 API 來實現的, 其實實現第一點組件區拖拽至畫布我們完全可以用原生來實現, 這里筆者簡單來介紹以下.

首先我們來看看一個完整的拖放過程:

  • 首先要設置一個元素可拖放(比如)
  • 設計拖動的時候會發生什么(需要用到ondragstart事件 和 setData(你要傳遞的數據))
  • 放到何處,也就是目標容器(通常在目標容器上綁定ondragover和ondrop事件)

有了以上3個步驟, 我們就能實現第一點的需求, 筆者寫個簡單demo來給大家參考一下:

  1. <script type="text/javascript"
  2.   function allowDrop(ev) { 
  3.     ev.preventDefault(); 
  4.   } 
  5.  
  6.   function drag(ev){ 
  7.     ev.dataTransfer.setData("Text",ev.target.id); 
  8.   } 
  9.  
  10.   function drop(ev){ 
  11.     ev.preventDefault(); 
  12.     let data=ev.dataTransfer.getData("Text"); 
  13.     ev.target.appendChild(document.getElementById(data)); 
  14.   } 
  15. </script> 
  16.  
  17. <div id="box" ondrop="drop(event)" ondragover="allowDrop(event)"></div> 
  18. <img id="drag" src="dooring.png" draggable="true" ondragstart="drag(event)" width="336" height="69" /> 

也就是對應的我們的組件拖放區域, 如下圖所示:

2.2 畫布區拖拽布局實現

因為之前的版本我們采用了網格布局來實現智能拖拽, 由于內部定位機制采用的是絕對定位(absolute), 所以是實現層級和固定組件比較困難, 如果組件的呈現完全脫離了定位的束縛, 我們就可以實現以上的困境了. 所以這里我們調研了一種方案——拖拽排序機制.

自然流布局的規律就是默認情況下html頁面是基于dom出現的順序來排列的, 也就是我們說的堆疊.

我們可以遵循這樣的設計, 通過排序的方式改變組件的位置從而實現自然流布局的頁面搭建.

那么我們再回到上面說的布局問題, 比如說要想實現柵格化布局, 我們只需要定義一個flex容器, 將組件拖拽到容器里就好了, 這樣也就解決了嵌套的問題. 同時我們還可以設計嵌套容器的柵格數, 這樣就可以實現類似如下的效果:

拖拽排序的庫我們可以使用:

  • sortable
  • Vue.Draggable
  • react-dnd

還有很多優秀的庫, 這里就不一一舉例了.

3. 如何實現層級和嵌套

其實在上面的實現思路中我們已經解決了嵌套的問題了, 即提供拖放的容器組件, 利用筆者在上文中介紹的拖放api即可實現. 對于組件層級來說, 因為我們采用的是自然流布局, 所以我們可以輕松的設置元素的定位屬性, 比如我們提供一個定位的設置:

關于如何設計一個動態的屬性編輯器, 筆者之前文章中也就詳細的介紹, 大家可以參考:

  • 表單編輯器實現(FormEditor)

 

以上就是自然流布局的基本實現方式, 后續筆者也會在github上同步最新的成果.

 

責任編輯:武曉燕 來源: 趣談前端
相關推薦

2021-01-09 09:48:10

可視化自然流布局 LowCode

2021-11-19 08:30:39

H5-Dooring 可視化組件商店

2021-07-27 08:29:33

可視化組件商店H5-Dooring

2021-02-28 07:42:40

可視化網格線H5-Dooring

2024-03-22 08:21:48

可視化搭建平臺組件商店H5-Dooring

2020-12-29 08:04:16

可視化地圖組件日歷組件

2021-06-16 08:30:36

Dooring可視化數據源設計剖析

2021-06-16 07:05:03

安全

2023-03-16 20:46:40

可視化平臺迭代

2023-12-06 08:07:13

拖拽庫可視化

2024-02-05 13:40:00

Mathlive開源庫Web 組件

2012-08-17 11:01:52

設計方案

2019-03-13 16:09:47

VMware虛擬化服務器

2022-06-29 08:28:58

數據可視化數據可視化平臺

2022-10-14 16:25:50

數據可視化大屏搭建BI平臺

2021-07-12 17:23:47

零設計可視化引擎

2024-06-06 08:27:42

2010-02-25 15:30:47

SDRAMWindows CE

2023-04-17 07:32:41

2017-10-31 09:38:53

大數據數據可視化Python
點贊
收藏

51CTO技術棧公眾號

丰满大乳国产精品| 91视频青青草| 成人mm视频在线观看| 国产精品国产三级国产普通话99| 亚洲伊人成综合成人网| 西西44rtwww国产精品| 三上亚洲一区二区| 精品国一区二区三区| 老司机午夜av| 金瓶狂野欧美性猛交xxxx| 2024国产精品| 亚洲自拍欧美色图| 中文字幕高清在线免费播放| 亚洲最大av| 日韩精品视频免费| 日韩欧美中文视频| 色在线中文字幕| 亚洲柠檬福利资源导航| 日韩经典在线视频| 天堂在线资源网| 精品亚洲porn| 国产不卡av在线| 久久久国产精华液| 亚洲成人国产| 亚洲视频在线免费看| 日本人妻一区二区三区| 黄色成人在线观看网站| 欧美午夜视频一区二区| 日韩激情视频一区二区| 91精品国产91久久久久游泳池| 成人美女视频在线观看| 91久久精品国产91久久性色| 国产一区二区视频免费| 合欧美一区二区三区| 精品国产一区久久久| 手机免费看av| 欧美wwwwww| 欧美精品一区二区高清在线观看 | 欧美va日韩va| 一级淫片在线观看| 成人毛片免费| 欧美亚洲国产怡红院影院| 亚洲不卡中文字幕无码| 丰乳肥臀在线| 亚洲小说欧美激情另类| 青青草原网站在线观看| 色综合久久久久综合一本到桃花网| 91丨porny丨国产入口| 国产精品免费一区二区| 亚洲爱爱综合网| 国产精品123| 91精品黄色| 精品国产无码AV| 国产精品一区二区三区四区| 亚洲999一在线观看www| 国产麻豆91视频| 国产综合久久久久影院| 国产综合香蕉五月婷在线| 在线观看中文字幕av| 麻豆精品视频在线| 91精品视频在线| 99热这里只有精品99| 国产福利91精品| 91传媒视频在线观看| 99热这里只有精品66| 日韩永久免费视频| 亚洲作爱视频| 欧美一级bbbbb性bbbb喷潮片| 日本中文字幕在线免费观看| 国产亚洲一级| 国产精品av免费在线观看| 无码人妻精品一区二区50| 日韩成人伦理电影在线观看| 国产日韩专区在线| 国产美女精品视频国产| 成人在线一区二区三区| 精品视频一区二区| 国际av在线| 成人欧美一区二区三区在线播放| 性生活免费观看视频| 国产盗摄一区二区| 色偷偷久久人人79超碰人人澡| chinese少妇国语对白| 欧美韩国日本| 精品成人在线观看| 妺妺窝人体色WWW精品| 97精品国产一区二区三区| 欧美精品一二区| 久久久久久91亚洲精品中文字幕| 日韩中文字幕亚洲一区二区va在线| 成人精品久久av网站| 成人午夜免费在线观看| 国产亚洲视频系列| 日本高清视频免费在线观看| 成人黄色动漫| 欧美日韩在线播放一区| 国产精品果冻传媒| 欧美精品尤物在线观看| 久久99视频精品| 日日骚av一区二区| 国产精品系列在线观看| 欧美一区二区三区在线免费观看| av网站免费在线观看| 欧美色视频日本版| 亚洲最大天堂网| 美女亚洲一区| 欧美激情视频在线| 中文字幕一区二区三区波野结| 丁香婷婷综合网| 亚洲精品白虎| 嗯啊主人调教在线播放视频 | 亚洲图片欧美在线| 成人av电影在线网| 400部精品国偷自产在线观看| 九色porny丨首页入口在线| 91麻豆精品国产| 久久久久久久久久久久| 国内精品久久久久久久影视麻豆 | 一级特黄aaa| 久久综合九色综合欧美就去吻| 400部精品国偷自产在线观看| 欧美精选视频一区二区| 亚洲电影免费观看| 特级片在线观看| 久久精品国产免费看久久精品| 久久亚洲高清| 国产高清自产拍av在线| 日韩精品中文字幕一区二区三区| 精品熟妇无码av免费久久| 国产视频一区三区| 国产精品免费看一区二区三区| 黄色精品免费看| 欧美日韩高清一区二区不卡| 三上悠亚影音先锋| 麻豆91精品| 蜜桃av噜噜一区二区三| zzzwww在线看片免费| 亚洲精品在线观看网站| 久草中文在线视频| 国产91丝袜在线观看| 麻豆视频传媒入口| 国产精久久久| 久久久91精品国产一区不卡| 中文文字幕一区二区三三| 中文字幕高清不卡| 久久婷婷国产91天堂综合精品| 欧美激情在线免费| 国产不卡精品视男人的天堂| 国产在线一二| 色www精品视频在线观看| 三级网站在线免费观看| 日韩二区三区四区| 视频在线一区二区三区| 精品日本视频| 在线色欧美三级视频| 伊人免费在线观看| 中文字幕一区二区视频| 交换做爰国语对白| 最新精品国产| 国产一区精品视频| av电影一区| 宅男66日本亚洲欧美视频| 国产九色91回来了| 亚洲欧洲色图综合| 欧美性猛交乱大交| 亚洲国产二区| 欧美日韩一区二区三区在线视频 | 超碰在线无需免费| 日韩免费观看高清完整版在线观看| 国产精品老熟女一区二区| 成人毛片老司机大片| 日本熟妇人妻xxxxx| 日韩黄色大片| 91久久久亚洲精品| 阿v视频在线| 国产一区二区成人| 国产三区在线播放| 亚洲1区2区3区4区| 精品手机在线视频| 国产乱理伦片在线观看夜一区| 国产亚洲黄色片| 免费久久久久久久久| 国产欧美日韩高清| 好看的中文字幕在线播放| 亚洲免费一级电影| 国产伦理吴梦梦伦理| 亚洲电影在线播放| 日本爱爱爱视频| 国产成人亚洲精品青草天美| 红桃av在线播放| 国产精品黑丝在线播放| 久久国产手机看片| 色婷婷成人网| 5252色成人免费视频| 免费av在线| 日韩电影大片中文字幕| 国产理论片在线观看| 天天综合网天天综合色| 国产一级淫片久久久片a级| 国产成人久久精品77777最新版本| 欧洲av无码放荡人妇网站| 自拍偷拍欧美| 日韩wuma| 日韩人体视频| 91夜夜揉人人捏人人添红杏| 天天免费亚洲黑人免费| 欧美日韩国产成人高清视频| 91欧美在线视频| 日韩精品在线电影| 国 产 黄 色 大 片| 欧美色综合网站| 中文字幕在线观看视频网站| 一区二区三区在线视频观看| 欧美大波大乳巨大乳| av一区二区三区| 红桃视频一区二区三区免费| 日本aⅴ亚洲精品中文乱码| 分分操这里只有精品| 中文字幕免费一区二区| 亚洲高清资源综合久久精品| 亚洲69av| 久久国产欧美精品| 欧美一级三级| 国产精品免费视频一区二区| 国产一区2区在线观看| 国产精品青草久久久久福利99| 九色porny自拍视频在线播放| 欧美乱大交xxxxx另类电影| 伊人免费在线| 在线视频亚洲欧美| 国产一级免费在线观看| 亚洲男人的天堂在线| 欧美 日韩 国产 成人 在线| 日韩免费在线观看| 亚洲av无码乱码国产麻豆| 欧美日本在线视频| 亚洲天堂手机版| 欧美日韩一区小说| 久久久久久久久久一级| 色婷婷av久久久久久久| 亚洲黄色小说图片| 岛国av一区二区三区| 丰满少妇乱子伦精品看片| 亚洲夂夂婷婷色拍ww47| 久草视频免费播放| 亚洲无线码一区二区三区| 欧美极品视频在线观看| 亚洲在线视频一区| 精品久久免费视频| 欧美视频二区36p| 69视频免费看| 在线一区二区三区四区五区| 日本丰满少妇做爰爽爽| 欧美网站一区二区| 国产精品欧美综合亚洲| 欧美一级日韩一级| 成人午夜免费福利| 亚洲老头同性xxxxx| 久青草国产在线| 中国china体内裑精亚洲片| 亚洲天天影视| 久久亚洲欧美日韩精品专区| 日本孕妇大胆孕交无码| 久久久久久久国产精品视频| 蜜桃视频在线观看播放| 秋霞av国产精品一区| 国产成人精选| 亚洲自拍欧美另类| 欧美三级电影在线| 欧洲精品一区色| 亚洲精品二区三区| 毛片在线视频播放| 日韩精品一区第一页| 免费黄频在线观看| 99re亚洲国产精品| 亚洲无人区码一码二码三码的含义| **性色生活片久久毛片| 久久久久久久久久综合| 色播五月激情综合网| 国产伦精品一区二区三区四区 | 国产精品久久久久久在线观看| 99精品视频一区| 天天躁夜夜躁狠狠是什么心态| 亚洲欧洲日韩综合一区二区| 日韩黄色在线视频| 欧美三级日韩三级| 亚洲黄色一级大片| 亚洲色图激情小说| 青春草视频在线观看| 日本中文字幕不卡免费| 国产电影一区| 欧美极品jizzhd欧美| 中文字幕亚洲综合久久五月天色无吗''| 亚洲熟妇无码一区二区三区导航| 日韩高清在线观看| 人妻换人妻a片爽麻豆| 国产欧美一区二区精品性色超碰| 青娱乐国产盛宴| 欧美专区亚洲专区| 人成网站在线观看| 久久精品国产清自在天天线 | 一区二区三区午夜探花| 91九色在线观看视频| 激情亚洲综合在线| 超碰97人人干| 亚洲午夜视频在线观看| 在线免费观看视频网站| 亚洲国产精品va在线看黑人动漫| 香蕉视频国产在线观看| 97超碰蝌蚪网人人做人人爽| 久久国产精品美女| 日韩精品伦理第一区| 激情综合在线| 99中文字幕在线| 日本一区二区三级电影在线观看| 日韩人妻无码一区二区三区99 | 欧美va天堂| 午夜免费福利在线| 久久亚洲捆绑美女| 国产一级aa大片毛片| 91精品国产综合久久国产大片| 国产日本在线| 68精品久久久久久欧美| 99re8这里有精品热视频8在线| 伊人婷婷久久| 麻豆一区二区三| 99精品欧美一区二区| 色婷婷精品大在线视频| 污视频网站在线播放| 欧美精品激情blacked18| 久久久91麻豆精品国产一区| 一区二区不卡在线观看| 麻豆精品一区二区三区| 中文字幕在线观看免费高清 | 99久久久久久久| 神马国产精品影院av| 国产成人精品亚洲日本在线观看| 久久国产精品亚洲va麻豆| 国产精品美女| 波多野结衣福利| 欧美日韩在线视频一区| 亚洲色图欧美视频| 2019中文在线观看| 亚洲欧洲av| www.色就是色| 日本一区二区三区在线不卡| 中文字幕在线一| 日韩有码视频在线| 国产激情久久| 伊人婷婷久久| 国产成人自拍高清视频在线免费播放| 麻豆亚洲av成人无码久久精品| 日韩一区二区在线免费观看| 午夜小视频福利在线观看| 99电影在线观看| 亚洲精品日本| www.中文字幕av| 欧美日韩在线播| av网站在线免费| 精品国产一区二区三区麻豆小说 | 国产aaaaa毛片| 国产精品久久久久aaaa樱花| 国产又粗又猛又爽又黄91| 久热在线中文字幕色999舞| 99香蕉久久| 91免费视频网站在线观看| 国产欧美视频在线观看| 亚洲综合网av| 欧美—级a级欧美特级ar全黄| 老牛影视av一区二区在线观看| 免费午夜视频在线观看| 中文字幕中文字幕一区| 亚洲国产成人精品一区二区三区| 性欧美在线看片a免费观看| 国产成人ay| 黄色a级三级三级三级| 午夜电影一区二区三区| av免费观看一区二区| 999日本视频| 久久久777| 国产成人久久久久| 日韩av在线最新| 先锋影音网一区二区| 久久综合久久网| 欧美激情综合网| 亚洲免费不卡视频| 国产精品精品一区二区三区午夜版 | 日韩伦理在线视频| 中文字幕亚洲色图| 国产精品三p一区二区| 久久精品影视大全| 亚洲成人av一区二区| 日本在线免费播放| 精品伦精品一区二区三区视频| 免费的成人av| 成人午夜淫片100集| 色综合男人天堂| 欧美三级美国一级| 国产不卡的av| 欧美无人高清视频在线观看|