如何在Aurelia-Dragula中设置容器特定选项?

问题描述 投票:2回答:1

我在我的应用程序中使用Aurelia-Dragula(https://github.com/michaelmalonenz/aurelia-dragula),我想像非Aurelia Dragula一样设置每个容器的选项。

在我的情况下,我想要ContainerA,我想要option.copy = true和ContainerB,我想要option.removeOnSpill = true。所以我试过了两个:

.plugin('aurelia-dragula', (options) => {
            options.removeOnSpill = true;
            options.copy = true;
        })

但结果是副本统治并且removeOnSpill不起作用。

当登录到控制台时,选项变量如何在aurelia-dragula中查找:{"containers":[],"copy":true,"copySortSource":false,"revertOnSpill":true,"removeOnSpill":true,"direction":"vertical","ignoreInputTextSelection":true,"mirrorContainer":{}}

在非Aurelia Dragula中如何完成的示例(来源:https://bevacqua.github.io/dragula/):

dragula([document.getElementById(left), document.getElementById(right)], {
  copy: function (el, source) {
    return source === document.getElementById(left)
  },
  accepts: function (el, target) {
    return target !== document.getElementById(left)
  }
});

由于选项设置有多么不同,我无法在aurelia-dragula中找到相关文档,我无法翻译它。

aurelia dragula
1个回答
1
投票

Righto - 所以是的,这绝对是可能的。

我没有测试过这个,但我相信这会有效:

view.html

<template>
  <aurelia-dragula containers.one-way="containers" copy.call="shouldCopy(item, container)" accepts.call="shouldAccept(item, target, source, reference)"></aurelia-dragula>
</template>

viewmodel.js

export class ViewModel {

  get containers () {
    return [document.getElementById(left), document.getElementById(right)]
  }

  shouldCopy (item, container) {
    return container === document.getElementById(left)
  }

  shouldAccept(item, target, source, reference) {
    return target !== document.getElementById(left)
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.