了解一下 Swapy
基本上無害
發(fā)布于 云南 2024-08-27 · 8068瀏覽 2贊

簡(jiǎn)介?

一個(gè)相當(dāng)簡(jiǎn)潔的拖動(dòng)庫,簡(jiǎn)潔到?jīng)]有任何多余的功能。官方文檔甚至只有一頁。

安裝

最簡(jiǎn)使用?

先熟悉兩個(gè)基本概念:

  • 插槽 slots:可以放置拖動(dòng)元素的區(qū)域,使用 data-swapy-slot="xxx" 標(biāo)識(shí)。
  • 拖動(dòng)項(xiàng) items:可以拖動(dòng)的元素,使用 data-swopy-item="xxx" 標(biāo)識(shí)。

拖動(dòng)項(xiàng)可在插槽中自由拖動(dòng),交換位置。

然后再對(duì)外層元素進(jìn)行初始化:

拖動(dòng)把手?

有時(shí)需要限制,讓拖動(dòng)項(xiàng)中只有某個(gè)元素可拖動(dòng)。

可為元素添加 data-swapy-handle 屬性,其他的區(qū)域?qū)⒉荒芡蟿?dòng)。

當(dāng)前插槽高亮?

swapy 會(huì)為當(dāng)前即將被放置的 channel 添加 data-swapy-highlighted 屬性??梢允褂?CSS 為其添加屬性:

事件監(jiān)聽與位置持久化?

使用 onSwap 監(jiān)聽拖動(dòng)事件,函數(shù)返回一個(gè)只包含 data 屬性的對(duì)象。

它會(huì)以 map、array、object 三種形式來返回插槽與拖動(dòng)項(xiàng)之間的對(duì)應(yīng)關(guān)系。

此時(shí)就可以將位置信息持久化到存儲(chǔ)中:

此后對(duì)應(yīng)地需要寫活最初的 html 代碼,讓它根據(jù)存儲(chǔ)順序渲染拖動(dòng)項(xiàng),此處便不贅述了。

基本上無害
火星宛如雪花,從42號(hào)有軌電車車頂?shù)墓渭娖魃巷w落而下。
瀏覽 8068
2
相關(guān)推薦
最新評(píng)論
贊過的人 2
評(píng)論加載中...

暫無評(píng)論,快來評(píng)論吧!