最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

React如何使用sortablejs實現(xiàn)拖拽排序

 更新時間:2023年01月16日 14:23:48   作者:逆襲的菜鳥X  
這篇文章主要介紹了React如何使用sortablejs實現(xiàn)拖拽排序問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

React使用sortablejs實現(xiàn)拖拽排序

1、使用npm裝包

$ npm install sortablejs --save

2、引入Sortable

import Sortable from "sortablejs";

3、使用方法

<div className="grid-box" ref={this.sortableGroupDecorator}>
    {menus &&
        menus.map((item, i) => {
            return this.renderSelectedItemView(item, i);
        })}
</div>
sortableGroupDecorator = componentBackingInstance => {
    if (componentBackingInstance) {
        let options = {
            draggable: ".rows",
            // animation: "150",
            onEnd: evt => {
                let children = evt.to.children;
            }
        };
        Sortable.create(componentBackingInstance, options);
    }
};

sortablejs之強(qiáng)大的拖拽庫

Sortable.js是一款優(yōu)秀的js拖拽庫,支持ie9及以上版本ie瀏覽器和現(xiàn)代瀏覽器,也可以運行在移動觸摸設(shè)備中。

不依賴jQuery,支持 Meteor、AngularJS、React、Vue、Knockout框架和任何CSS庫,如Bootstrap、Element UI。你可以用來拖拽div、table等元素。

Sortable.js可以實現(xiàn)同組內(nèi)上下拖動元素,也可以實現(xiàn)不同組內(nèi)互相拖動元素。

安裝

npm i sortablejs -S

基本示例

以下示例基于 Vue2:

<template>
  <div ref="box">
    <div data-id="a">a</div>
    <div data-id="b">b</div>
    <div data-id="c">c</div>
  </div>
</template>
 
<script>
import Sortable from 'sortablejs';
 
export default {
    mounted() {
      this.$nextTick(function() {
        this.initSortable();
      });
    },
    methods: {
      initSortable() {
        let sortable;
        // 拖動配置
        const ops = {
            animation: 200,
            group: "name",
            // 拖動結(jié)束
            onEnd: function (evt) {
                // 獲取拖動后的排序,arr數(shù)組里的值是 data-id 的順序
                let arr = sortable.toArray();
                console.log({evt, arr})
            },
        };
        //初始化
        sortable = Sortable.create(this.$refs.box, ops);
      }
    },
};
</script>

常用配置

const config = {
  //一個網(wǎng)頁存在多個分組時設(shè)置,組名相同的組之間元素可以相互拖拽
  group: "name",
  //2種group寫法選一種就可以了
  group: { 
    name: 'name',
    pull: 'clone', //克隆元素
  },
  //是否允許元素內(nèi)部排序,如果為false當(dāng)有多個排序組時,多個組之間可以拖拽,本身不能拖拽(默認(rèn)true)
  sort: true,
  //是否禁用拖拽和排序
  disabled: false,
  //動畫效果持續(xù)時間(不設(shè)置或0都沒有過渡效果)
  animation: 150,
  //點擊指定class類的元素才能拖拽(比如點擊元素內(nèi)的圖標(biāo)才能拖拽元素,可以給圖標(biāo)設(shè)置my-handle class)
  //class可以定義在元素本身上,也可以定義在子元素上
  handle: ".my-handle",
  // class為ignore的元素不能拖動
  filter: ".ignore",
  //含有item 類的元素可以被拖拽(class只能定義在元素本身上)
  draggable: ".item",
  //指定獲取拖動后排序的屬性
  dataIdAttr: 'data-id',
  //給??课恢锰砑拥腸lass(可以給這個class定義樣式)
  ghostClass: "ghost",
  //選中元素添加的類(包括懸浮的元素和停靠位置的元素)
  chosenClass: "chosen",
  //拖拽對象移動時添加的類
  dragClass: "drag",
  //禁用html5原生拖拽
  forceFallback: false,
  ...
 
  //克隆事件
  onClone: function (evt) {
      //被克隆的對象(被移到另外地方的那個元素)
      var origEl = evt.item;
      //克隆后的對象(還是在原來位置的元素)
      var cloneEl = evt.clone;
      cloneEl.innerHTML = "clone出的元素";
  },
  ...
}

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • React+Spring實現(xiàn)跨域問題的完美解決方法

    React+Spring實現(xiàn)跨域問題的完美解決方法

    這篇文章主要介紹了React+Spring實現(xiàn)跨域問題的完美解決方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-08-08
  • react-pdf實現(xiàn)將pdf文件轉(zhuǎn)為圖片,用于頁面展示

    react-pdf實現(xiàn)將pdf文件轉(zhuǎn)為圖片,用于頁面展示

    這篇文章主要介紹了react-pdf實現(xiàn)將pdf文件轉(zhuǎn)為圖片,用于頁面展示問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • react顯示文件上傳進(jìn)度的示例

    react顯示文件上傳進(jìn)度的示例

    這篇文章主要介紹了react顯示文件上傳進(jìn)度的示例,幫助大家更好的理解和學(xué)習(xí)使用react,感興趣的朋友可以了解下
    2021-04-04
  • React組件二次包裝的具體實現(xiàn)

    React組件二次包裝的具體實現(xiàn)

    本文主要介紹了React組件二次包裝的具體實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • 深入理解React Native核心原理(React Native的橋接(Bridge)

    深入理解React Native核心原理(React Native的橋接(Bridge)

    這篇文章主要介紹了深入理解React Native核心原理(React Native的橋接(Bridge),本文重點給大家介紹React Native的基礎(chǔ)知識及實現(xiàn)原理,需要的朋友可以參考下
    2021-04-04
  • React如何以Hook的方式使用Echarts

    React如何以Hook的方式使用Echarts

    這篇文章主要介紹了React如何以Hook的方式使用Echarts問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • React?中的列表渲染要加?key的原因分析

    React?中的列表渲染要加?key的原因分析

    這篇文章主要介紹了React?中的列表渲染為什么要加?key,在?React?中我們經(jīng)常需要渲染列表,比如展示好友列表,文中給大家介紹了列表渲染不提供?key?會如何,通過實例代碼給大家介紹的非常詳細(xì),需要的朋友一起看看吧
    2022-07-07
  • React中的Context應(yīng)用場景分析

    React中的Context應(yīng)用場景分析

    這篇文章主要介紹了React中的Context應(yīng)用場景分析,Context 提供了一種在組件之間共享數(shù)據(jù)的方式,而不必顯式地通過組件樹的逐層傳遞 props,通過實例代碼給大家介紹使用步驟,感興趣的朋友跟隨小編一起看看吧
    2021-06-06
  • react實現(xiàn)列表滾動組件功能

    react實現(xiàn)列表滾動組件功能

    在開發(fā)項目的時候,從服務(wù)端獲取到數(shù)據(jù)列表后,展示給用戶看,需要實現(xiàn)數(shù)據(jù)自動滾動效果,怎么實現(xiàn)呢,下面小編給大家分享react實現(xiàn)列表滾動組件功能實現(xiàn)代碼,感興趣的朋友一起看看吧
    2023-09-09
  • 關(guān)于antd tree和父子組件之間的傳值問題(react 總結(jié))

    關(guān)于antd tree和父子組件之間的傳值問題(react 總結(jié))

    這篇文章主要介紹了關(guān)于antd tree 和父子組件之間的傳值問題,是小編給大家總結(jié)的一些react知識點,本文通過一個項目需求實例代碼詳解給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2021-06-06

最新評論

建德市| 十堰市| 郧西县| 依安县| 永仁县| 新化县| 会泽县| 新建县| 大冶市| 内江市| 绥中县| 西平县| 黑山县| 固阳县| 东辽县| 襄垣县| 中阳县| 通辽市| 旺苍县| 宜春市| 治县。| 新田县| 高阳县| 武功县| 墨脱县| 九江市| 高台县| 石门县| 西青区| 佛坪县| 牡丹江市| 肇州县| 堆龙德庆县| 金华市| 巴彦淖尔市| 淮北市| 泽库县| 交口县| 收藏| 钦州市| 绥宁县|