【问题标题】:How does one implement drag-and-drop using Elm 0.17?如何使用 Elm 0.17 实现拖放?
【发布时间】:2016-10-18 18:07:03
【问题描述】:

elm-drag 软件包自 Elm 0.17 版起无法使用。 作者提到从什么时候开始就没有意义了。

https://github.com/jvoigtlaender/elm-drag/issues/2

并指出: http://elm-lang.org/examples/drag

但它只有拖放。

我想到的第一件事就是在放置目标中捕捉 onMouseUp。如果拖动事件以某种方式反映在模型上,则何时执行一些拖放操作。

但我不确定这是正确的方法。 在 Elm 0.17 中实现 drop 的正确方法是什么?

【问题讨论】:

  • example you linked 中,丢弃实际上是通过DragEnd 消息调用update,由Mouse.ups 订阅触发。那个时候drop的位置是可以的。
  • 非常感谢!我一次又一次地经历了例子,现在我意识到了更多。我是否需要将 DragEnd 的可用位置与所有放置目标进行比较?另外,我需要“帮手”(正如它在 jquery-draggable 中命名的那样)。所以原始的拖动源应该保持在它的位置,并且应该拖动动态创建的元素。对我这个新手来说,实现这一切似乎太难了。

标签: drag-and-drop elm


【解决方案1】:

我想说仅检查 drop target 中的 mouseover 事件是不够的,而是检查它是否与 drag target 相交。我认为bounding-box 包可能很有用。

此外,网上有几个与拖放相关的示例(尽管没有任意的drop targets)。也许他们有帮助:

【讨论】:

    猜你喜欢
    • 2017-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 2021-09-13
    • 2016-09-12
    • 2019-06-29
    • 1970-01-01
    相关资源
    最近更新 更多