如何在我的React Table - ReactJS中使用拖放功能列和行

tom*_*123 15 javascript reactjs react-table

我在React Table中创建了一个表.我想在列和行上添加拖放功能?我怎样才能做到这一点 ?

这是我的CodeSandbox示例 - https://codesandbox.io/s/2wp7jk23kr

在这里,我有一个用于拖放行的Code Sandbox - https://codesandbox.io/s/1844xzjvp7

在这里,我有一个用于拖放列的Code Sandbox - https://codesandbox.io/s/5vxlnjrw1n

作为初学者在React中,我无法集成这三个沙盒.有人可以在CodeSandbox上找到一个关于如何在列和行上添加拖放功能的好例子.

请使用我的React Table数据列 - https://codesandbox.io/s/2wp7jk23kr

Jos*_*Lin 3

制作起来并不难,但仍然没有方便的方法,我尝试了一下,让我们在沙箱中看看结果:https://codesandbox.io/s/quizzical-leakey-o5h8z

然后让我们看看 Table.js 中发生了什么

1.当你开始拖动时,你不知道它要去哪个方向,所以我只是隐藏片段(通过将其设置为空div)

2.当你第一次把它拖到另一个单元格中时我知道了方向,然后将方向锁定在里面dragState.direction

3.当您将其拖入单元格时(包括步骤2中的第一次),您需要显示更改的数据,例如rows = offsetIndex(dragState.row, dragState.dropIndex, rows),注意它的不同取决于dragState.direction

4.我们突出显示我们正在拖动的行/列,opacity: ....

5.最后在dragEnd我们通知父组件发生了什么变化

这还不够好,特别是当阻力被取消时。所以不要太依赖这些代码,根据这个思路找到适合自己的方法