React 拖拽排序

作者: CondorHero | 来源:发表于2019-08-23 23:49 被阅读0次

这篇文章基本骨架来自:文件点击上传和拖拽上传

今天我们要解决的问题就是页面上我们上传了多个文件,我们需要怎么实现移动拖拽排序的效果。

借用插件,先安装:

npm install --save react-sortable

参考官方文档:https://www.npmjs.com/package/react-sortable
实现效果:

拖拽排序
思路:
  • 要求每个图片必须是一个单独的组件
    图片组件配置一共三步:
import React, { Component } from 'react'
// ①引包
import {sortable} from "react-sortable";
// ②装饰器语法进行组件装饰,注意这个装饰器就一个圆括号
// ③根 div 加上{...this.props}
@sortable
export default class Sortable extends Component {
    render() {
        return (
            <div className = "cur" {...this.props}>
                <img src = {this.props.base64}/>
            </div>
        )
    }
}

如果不使用@这个语法糖就得这样写:

import React, { Component } from 'react'
// ①引包
import {sortable} from "react-sortable";
// ③根 div 加上{...this.props}

class Sortable extends Component {
    render() {
        return (
            <div className = "cur" {...this.props}>
                <img src = {this.props.base64}/>
            </div>
        )
    }
}
// ②装饰器语法进行组件装饰,注意这个装饰器就一个圆括号
export default sortable(Sortable)

到这里拖拽图片的话基本就可看见拖拽效果,但是还不能看到排序的效果。

  • 父组件也得三步操作,操作的地方就在子组件上
{
    this.state.base64.map((item,index) => <Sortable key = {index} base64 = {item} 
    onSortItems={(arr)=>{
        this.setState({
            base64:arr
        })
    }}
    items={this.state.base64}
    sortId={index}
    />)
}

第一个地方:给子组件一个 sortId 一般 key 用啥就给它啥
第二个地方:items 给它的值就是当前进行 map 的数组
第三个地方:一个函数,很明显是使用排序好的数组来更新当前数组

没啦配置完成。

相关文章

  • react.js 拖拽

    react.js拖拽排序功能的实现 1.使用 react-dnd npm install--save react-...

  • React 拖拽排序

    这篇文章基本骨架来自:文件点击上传和拖拽上传 今天我们要解决的问题就是页面上我们上传了多个文件,我们需要怎么实现移...

  • react-sortable-hoc拖拽无法点击问题解决

    在使用react-sortable-hoc来实现列表拖拽排序时遇到一个问题: 首先看下业务场景,grid布局的拖拽...

  • React实现拖拽排序

    最近有个需求, 需要实现一下拖拽排序, 不需要动画, 能实现功能即可. 现有的类库就不太想集成, 自己手撸一下, ...

  • React Nativie 拖拽排序

    需求 有一个图片上传的功能,选择完图片之后会按照选择顺序进行排序,系统会默认前5张为系统展示图片,其他的图片留存在...

  • iOS collectionView拖拽排序

    iOS collectionView拖拽排序 iOS collectionView拖拽排序

  • source code:TableviewGroup阴影加圆角

    长按拖拽排序(上传者:yeliang_new)长按拖拽排序,拖拽排序。拖拽排序是新闻类的App可以说是必有的交互设...

  • react-dnd-拖拽排序

    DropTargetMonitor 1 .getClientOffset() 2 .getInitialClien...

  • react事件机制和原生dom事件机制之男女有别

    今天遇到这么一个问题: 我们在实现列表拖拽排序时使用了react-sortable-hoc这个库,确实很好用,利用...

  • 拖拽操作

    应用: 1.拖拽排序2.拖拽上传3.拖拽裁剪 拖拽流程 确定可拖拽的内容-->开始拖拽-->拖拽过程-->结束拖拽...

网友评论

    本文标题:React 拖拽排序

    本文链接:https://www.haomeiwen.com/subject/vpsxectx.html