【发布时间】:2020-06-03 04:41:29
【问题描述】:
寻求一些建议/指导。我想在 JHipster 6.7.1 中实现(我认为这是一个非常标准的功能)一个拖放可重新排序的列表。
具体来说,假设您创建了一个自定义的有序对象列表。除了从列表中添加/删除项目外,用户还希望重新排序列表。例如,假设希望将[Epsilon] 按顺序排在第二位(在[Alpha] 之后):
(before) (after)
[Alpha] [Alpha]
[Beta] \---+ [Epsilon]
[Gamma] | [Beta]
[Delta] | [Gamma]
[Epsilon]--+ [Delta]
只需将[Epsilon] 拖放到[Alpha] 和[Beta] 之间的某个位置,然后放下它。该列表以新的顺序重新呈现。完毕。显然,在后端,代码必须持久化/管理新的索引/排序,但用户体验直观且快速。
拖放可重新排序将允许用户快速将项目拖放到任何所需的顺序中。多年来,我使用简单的 JavaScript 库多次实现了这种事情。我希望 JHipster 6.7.1 能帮助快速找到一个好的现代解决方案。
Ng-bootstrap 似乎只提供静态工具。 (没有拖放。)
Angular Materials 看起来很完美!! 在努力让 JHipster 中的东西移动之后,甚至尝试了JHipster Angular Material generator,我惊讶地发现JHipster does not (and may never) support Angular Materials!与 Bootstrap 踩到 Angular Material 的脚趾有关...好的。
然后我尝试使用SortableJS 使用ngx-sortable。没有运气。
我发现了一些对PrimeNG 的引用,它是 JHipster 开发人员的流行工具集。 These Drag/Drop set of directives 看起来很有用,但没有示例显示简单的可重新排序列表(从一个列表拖到另一个列表不是我在说的)。 picklist directives 也不是我想要的。我会继续玩 PrimeNG...
与此同时,我不再独自挣扎,而是向 StackOverflow 上的好人寻求一些智慧。
- 有人在 JHipster 应用程序中实现了简单的拖放列表排序机制吗?
- 在 JHipster 中可以使用哪些库/方法? SortableJS/NGX-SortableJS 对你有用吗? PrimeNG?还有什么?
- 我注意到一个叫做 NG-Dragula... 有没有人在 JHipster 应用程序中尝试过这个?
- 我应该使用 Vue、React 还是其他前端(而不是 Angular)?这会给我提供更多的灵活性吗?
- 我是不是想多了。并且遗漏了一些明显的东西?
我真的很想尝试使用 JHipster/Angular,但我的开发时间还早,可以接受其他选择...
提前致谢!
【开发环境为:Windows 10 Pro; IntelliJ 2019.3.3;开放JDK 13;节点 12.15.0; npm 6.13.7;梯度 6.1.1; Chrome v80.0.3987.116]
[PS:我很乐意提供更多细节。只要问!]
【问题讨论】:
-
对于 PrimeNG 与 JHipster 的集成,vicpermir 提供了详细的答案:stackoverflow.com/a/60085001/7773582
标签: angular drag-and-drop jhipster