【发布时间】:2012-09-05 14:17:11
【问题描述】:
我正在尝试创建一个可通过拖放进行排序的多级列表。用户可以抓取一个元素并在树上上下移动它,或者将它放到其他元素中并让它成为一个子元素。
有现成的 JS 解决方案吗? jQuery sortable/draggable 对于单级列表效果很好,但在嵌套解决方案中效果较差。
【问题讨论】:
标签: javascript jquery-plugins drag-and-drop
我正在尝试创建一个可通过拖放进行排序的多级列表。用户可以抓取一个元素并在树上上下移动它,或者将它放到其他元素中并让它成为一个子元素。
有现成的 JS 解决方案吗? jQuery sortable/draggable 对于单级列表效果很好,但在嵌套解决方案中效果较差。
【问题讨论】:
标签: javascript jquery-plugins drag-and-drop
你也可以试试https://github.com/dbushell/Nestable(演示:http://dbushell.github.io/Nestable/)。
适用于鼠标和触摸,此插件与 jQuery 和 Zepto 兼容。
【讨论】:
我正在使用 johnny 的 jquery-sortable 插件,可以在这里找到 http://johnny.github.io/jquery-sortable。
它似乎工作得很好。
我还试图让它通过 AJAX 发回列表的排序结构。如果您想查看我的工作解决方案,请参阅this topic,因为有关序列化的官方文档似乎有点不令人满意(至少对于嵌套列表)。
希望这有帮助。
【讨论】:
所以虽然你可以使用https://github.com/dbushell/Nestable 或http://johnny.github.io/jquery-sortable
这些天你可能想要迁移到 React 之类的东西,这样你就可以使用这样的包:https://www.npmjs.com/package/react-drag-sortable
尽量不要再使用 jQuery 来处理这类事情。当您拥有拖放界面时,您已经具备了 web 应用程序的特质,而不是网页,而且您走错了方向。
【讨论】:
我看到了一个名为 react-nestable 的包,它可以创建嵌套拖放。我在下面放了那个包的链接 - react-nestable npm
【讨论】: