SortableJS 无法在桌面上使用 Onsen UI

SortableJS not working with Onsen UI on desktop

刚刚从 Sortable's docs.

中复制粘贴了示例代码

它在任何触摸屏设备上都能正常工作,但一旦我在 Chrome 或任何其他桌面浏览器上查看它,它就会停止工作。没有错误,就是不能再拖了。

Onsen UI 的 JS 可能会覆盖拖动事件或类似的东西,但无法找到解决方案。

根据此处给出的答案:https://github.com/SortableJS/Vue.Draggable/issues/508#issuecomment-488314106

If anybody faces this issue then the following is a workaround for this;

document.body._gestureDetector.dispose()

If you need to enable it again for any reason, use the following

document.body._gestureDetector = new ons.GestureDetector(document.body);

由于我的代码在 Vue 组件中使用了 Sortable,因此我最终将其作为 Sortable.create 选项的一部分来执行。它似乎工作得很好:

    onChoose: function(event) {
      if(this.$ons) {
        document?.body?._gestureDetector?.dispose();
      }
    },
    onStart: function(event) {
      if(this.$ons) {
        document?.body?._gestureDetector?.dispose();
      }
    },
    onEnd: (event) => {
      if(this.$ons) {
        document.body._gestureDetector = new this.$ons.GestureDetector(document.body);
      }
    },