如果只是为了实现一个类似的,那么可以接收 node 的 move 事件,以此确定应该插入什么地方,比如说node分为 25%、50%、25% 分别对应 insert、current(appendChild)、after。然后 children 的盒子可以读上一次 node 的值。其他的还可以使用一些库,比如说 sortablejs 之类element-plus 不是开源的吗,直接看就完事了。https://github.com/element-plus/element-plus/blob/dev/packages/components/tree/src/tree-node.vuehttps://github.com/element-plus/element-plus/blob/dev/packages/components/tree/src/model/useDragNode.tsdraggable 属性。然后就找代码本文参与了SegmentFault 思否面试闯关挑战赛,欢迎正在阅读的你也加入。
如果只是为了实现一个类似的,那么可以接收 node 的 move 事件,以此确定应该插入什么地方,比如说node分为 25%、50%、25% 分别对应 insert、current(appendChild)、after。然后 children 的盒子可以读上一次 node 的值。
其他的还可以使用一些库,比如说 sortablejs 之类
element-plus 不是开源的吗,直接看就完事了。
https://github.com/element-plus/element-plus/blob/dev/packages/components/tree/src/tree-node.vue
https://github.com/element-plus/element-plus/blob/dev/packages/components/tree/src/model/useDragNode.ts
draggable 属性。然后就找代码