Open xiaohuoni opened 4 years ago
移动操作有arrry-move可以满足你,但是这个库没有进行babel 转换,可能会出现编译错误,不过我已经将他收入到这里es5-imcompatible-versions,已经解决
@poyiding 其他的有没有
关于“如果我希望把a数组里的第7个元素,移动到b数组的第2个元素”,这个简单封装一下: function generateArray(listA=[], listB=[], findIndex, insertIndex) { const getEle = listA[findIndex-1]; if(getEle) { listB.splice(insertIndex,0,getEle); } return listB; }
如果需要 可以 把上面 那个封装到 上面的库中
@xiaohuoni
需要 添加,删除,换位,移动等操作
写下你希望的API我来实现吧 还有就是起个名字
Background(背景)
我在开发umi-plugin-dnd 的时候,只是简单的在根组件上包裹了上下文。 后来用到实际的项目中,我觉得应该需要将组件简单的封装。 然后,组件封装完了,我发现,如果将对数据的处理,也封装成工具类。 那会让这个组件很好用。 常用的操作无非就是,添加,删除,换位,移动等操作
Proposal(建议)
比如我觉得移动操作可以是
它总是将我需要的数据移动,而让其他数据保持原来的顺序,比如我需要把第3位移到第1位,而其他保持不变时
list = reorder(list,2,0)
简单的增加,删除,确实没有必要封装,但有意思的是,如果我希望把a数组里的第7个元素,移动到b数组的第2个元素,那么此时我比较希望能够一个更完善的工具类来支撑。 如果你有实现方案,那请你直接回复我,或者提交PR。 (我现在需要完成DragAndDrop 组件编写之后,更新umi-plugin-dnd@3
)