列表拖拽排序在開發中,是常常遇到的一個需求。現有的拖拽排序輪子已經不少了,做者爲何開發一個呢? 作了一個小調查,現有的拖拽存在如下問題:react
正好做者的項目 yapi 須要用到拖拽排序功能,就作了這麼一個輪子,專一於列表的拖動排序,不幹其餘事情。git
react-drag-sortgithub
下面是代碼示例:npm
<EasyDragSort onChange={this.handleDragMove} data={this.state.list} >
{this.state.list.map( (item, index) =>{
return <div className={this.state.curMoveItem === index? 'item active' : 'item'}
key={item.name}
onClick={()=> {
let newItems = this.state.list.slice();
newItems.splice(index, 1);
this.setState({list: newItems});
}}
>{item.name}</div>
})}
</EasyDragSort>
複製代碼
目前尚未發到 npm,使用是很是簡單的,用EasyDragSort 組件包裹下列表,以下:api
<EasyDragSort onChange={this.handleDragMove} data={this.state.list}>
// list...
</EasyDragSort>
複製代碼
你們若是用得上,能夠關注下,目前尚未添加任何測試代碼,你們想用直接複製源碼吧。bash