Skip to content

A component of Drag&Drop,Touch enabled and Reordering list for React

License

Notifications You must be signed in to change notification settings

lowesyang/Drag-list-react

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Drag-list-react

npm Build Status npm

A HOC component of Drag&Drop,Touch enabled and Reordering list for React.

demo

Install

npm install drag-list-react --save

Usage

import React from 'react';
import DragList from 'drag-list-react';

// Notice: Every item in your data list must contains property 'id'.
// DragList component uses 'id' as the key of array.
const list=[
  {
    id:1,
    name:'Item1'
  },{
    id:2,
    name:'Item2'
  },{
    id:3,
    name:'Item3'
  },{
    id:4,
    name:'Item4'
  }
]

// list item
// Each properties in data list will be passed to the children
const listItem=({name})=>(
  <div className={styles.nameTag}>{name}</div>
)

// Placeholder when dragging items
// Props is necessary because placeholder will receive style props from component.
const Placeholder=(props)=>(
  <div className={styles.placeholder} {...props}></div>  
)

const App = () => {
  // Use placeholder
  const List = DragList(listItem,Placeholder);
  // Or not use placeholder
  // const List = DragList(listItem);
  return (
    <List list={list} />
  )
};

API

Properties

name type default description
disabled Boolean false Disabled dragging and dropping
type String Type of drag list.The list will be horizontal when it is set inline.
isLongPress Boolean false Should dragging be triggered by long pressing or not
delay Number 300(ms) The delay time of long pressing
gutter Number 0 The spacing between two items
onDragBegin Function(item,index,element) Prams: item is the dragging element of your data array; index is the index of the dragging item in your data array; element is the real DOM node of your dragging item.
onDragEnd Function(list) Param: list is the final list when dragging ends.

About

A component of Drag&Drop,Touch enabled and Reordering list for React

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published