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

React使用react-sortable-hoc如何實現(xiàn)拖拽效果

 更新時間:2024年07月08日 09:03:58   作者:枕著光的她  
這篇文章主要介紹了React使用react-sortable-hoc如何實現(xiàn)拖拽效果問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

React使用react-sortable-hoc拖拽效果

我們先看看效果

在react中實現(xiàn)拖拽效果我使用的是react-sortable-hoc 這個庫,

安裝這個庫

npm install react-sortable-hoc

同時要下載 array-move :

npm install array-move

參考文檔: React Sortable Higher-order Components

文檔中引入的是

import arrayMove from 'array-move';

在我的項目中會報錯,應(yīng)該是版本更新替換了這個方法,

改成下面這樣就能使用了,講以前用到 arrayMove 的地方都替換成 arrayMoveImmutable;

import { arrayMoveImmutable } from 'array-move';

全部代碼:

import React, { useEffect, useState } from 'react';
import { sortableContainer, sortableElement } from 'react-sortable-hoc';
import { arrayMoveImmutable } from 'array-move';
import axios from "axios"

const Box = ({ value }) => {
    return ( //單個盒子
        <div className="box">
            <img src={`http://localhost:3001${value.img}`} alt="" />
            <p>{value.name}</p>
        </div>
    );
};

const SortableBox = sortableElement(Box);

const BoxList = ({ items, onSortEnd }) => {
    return (
        <div className="box-list">
            {/* 循環(huán)渲染元素 */}
            {items.map((value, index) => (
                <SortableBox key={`item-${index}`} index={index} value={value} />
            ))}
        </div>
    );
};

const SortableBoxList = sortableContainer(BoxList);

const List = () => {
    const [items, setItems] = useState([]);

    useEffect(() => {
        // 從后端請求接口數(shù)據(jù)
        axios.get("http://localhost:3001/list").then(({ data }) => {
            console.log(data);
            setItems(data)
        })
    }, [])

    const onSortEnd = ({ oldIndex, newIndex }) => {
        setItems(arrayMoveImmutable(items, oldIndex, newIndex));  //獲得新舊兩個index,將數(shù)組進(jìn)行修改
    };

    return (
        <div>
            <h1>Box List</h1>
            <SortableBoxList items={items} onSortEnd={onSortEnd} />
        </div>
    );
};

export default List;

react-sortable-hoc 拖拽組件的時候消失

直接使用的antd的拖拽手柄例子

正常表格顯示

拖拽的時候消失了

拖拽放到第一條放開是可以成功的

這個組件消失就很難受,我加過z-index結(jié)果沒啥用,實際上z-index要加在拖拽的item上才會有效果

這樣拖拽效果就很明顯了

總結(jié)

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

相關(guān)文章

  • 詳解React 在服務(wù)端渲染的實現(xiàn)

    詳解React 在服務(wù)端渲染的實現(xiàn)

    這篇文章主要介紹了詳解React 在服務(wù)端渲染的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • React生命周期方法之componentDidMount的使用

    React生命周期方法之componentDidMount的使用

    這篇文章主要介紹了React生命周期方法之componentDidMount的使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • 詳解react-native-fs插件的使用以及遇到的坑

    詳解react-native-fs插件的使用以及遇到的坑

    本篇文章主要介紹了react-native-fs插件的使用以及遇到的坑,詳細(xì)的介紹了react-native-fs安裝使用,具有一定的參考價值,有興趣的可以了解一下
    2017-09-09
  • React自定義tab組合組件的實例詳解

    React自定義tab組合組件的實例詳解

    本文介紹了如何利用React的cloneElementAPI實現(xiàn)自定義Tab組合組件,通過將TabItem作為Tab的子組件,使用React.cloneElement方法傳遞props和事件處理函數(shù),實現(xiàn)了父子組件狀態(tài)聯(lián)動,本文結(jié)合實例代碼介紹的非常詳細(xì),感興趣的朋友一起看看吧
    2026-02-02
  • React Hook 監(jiān)聽localStorage更新問題

    React Hook 監(jiān)聽localStorage更新問題

    這篇文章主要介紹了React Hook 監(jiān)聽localStorage更新問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • React+Vite從零搭建項目及配置的實現(xiàn)

    React+Vite從零搭建項目及配置的實現(xiàn)

    本文主要介紹了React+Vite從零搭建項目及配置的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-04-04
  • React全家桶環(huán)境搭建過程詳解

    React全家桶環(huán)境搭建過程詳解

    本篇文章主要介紹了React全家桶環(huán)境搭建過程詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • 用React-Native+Mobx做一個迷你水果商城APP(附源碼)

    用React-Native+Mobx做一個迷你水果商城APP(附源碼)

    這篇文章主要介紹了用React-Native+Mobx做一個迷你水果商城APP,功能需要的朋友可以參考下
    2017-12-12
  • React實現(xiàn)多標(biāo)簽在有限空間內(nèi)展示

    React實現(xiàn)多標(biāo)簽在有限空間內(nèi)展示

    在業(yè)務(wù)中,需要在一個卡片組件中展示多個標(biāo)簽,標(biāo)簽組件高度相同,寬度和出現(xiàn)順序不同,要求標(biāo)簽只能在有限的空間內(nèi)展示,所以本文給大家介紹了React實現(xiàn)多標(biāo)簽在有限空間內(nèi)展示,需要的朋友可以參考下
    2023-12-12
  • React?antd中setFieldsValu的簡便使用示例代碼

    React?antd中setFieldsValu的簡便使用示例代碼

    form.setFieldsValue是antd?Form組件中的一個方法,用于動態(tài)設(shè)置表單字段的值,它接受一個對象作為參數(shù),對象的鍵是表單字段的名稱,值是要設(shè)置的字段值,這篇文章主要介紹了React?antd中setFieldsValu的簡便使用,需要的朋友可以參考下
    2023-08-08

最新評論

偏关县| 奈曼旗| 龙口市| 稷山县| 盈江县| 墨脱县| 昌乐县| 罗甸县| 海口市| 大余县| 勐海县| 从化市| 辽宁省| 桃园县| 吉安市| 临澧县| 嵊泗县| 黄龙县| 郧西县| 鸡泽县| 建阳市| 台湾省| 胶州市| 岚皋县| 合阳县| 新昌县| 敦化市| 万山特区| 彩票| 东明县| 古浪县| 密山市| 鄂托克前旗| 五河县| 思南县| 彰化县| 西畴县| 昔阳县| 赞皇县| 建昌县| 凌海市|