【问题标题】:connectClass on individual item单个项目上的 connectClass
【发布时间】:2018-07-10 18:55:49
【问题描述】:

我正在尝试设置淘汰赛以限制可以拖入哪些列表项。我一直在研究 connectClass 功能,但我不确定它能否满足我的需求。

我的应用程序有一系列可排序的列表,用户从另一个“未分配项目”列表(示例中的列表 E)中填充这些列表。列表的数量会有所不同,但它们始终是两种不同类型之一。因此,为简单起见,我会说每种类型只有两个:

5 个列表(A 到 E)

  • 列表 A:项目可以转到列表 B 或列表 E
  • 列表 B:项目可以转到列表 A 或列表 E
  • 列表 C:项目可以转到列表 D 或列表 E
  • 列表 D:项目可以转到列表 C 或列表 E
  • 列表 E:有些项目可以到 A 或 B,有些可以到 C 或 D

我认为我需要它来有效地指定列表 E(而不是整个列表)中每个项目的“connectClass”值。有没有办法做到这一点?

【问题讨论】:

标签: knockout.js knockout-sortable


【解决方案1】:

感谢您的提示,发现您可以通过“beforeMove”事件来做到这一点:

ko.bindingHandlers.sortable.beforeMove = function (args) {

    if (args.targetParent.ListE == false) //otherwise always ok
    {
        if (args.targetParent.Something != args.item.Something) { //this line evaluates if it is ok to drop the item
            args.cancelDrop = true; //if not, cancel the drop
        }
    }
};

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-12
    • 1970-01-01
    • 2019-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-22
    相关资源
    最近更新 更多