1

我有一个可放置的项目列表,我有一个自定义绑定:

ko.bindingHandlers.drag = {
    init: function (element, valueAccessor, allBindingsAccessor) {
        ko.utils.domData.set(element, "ko_drag_data", valueAccessor());
        var options = ko.utils.extend(ko.bindingHandlers.drag.options, allBindingsAccessor().dragOptions);
        $(element).draggable(options);
    },
    options: {}
};

我正在使用以下选项对其进行初始化:

ko.bindingHandlers.drag.options = {
    connectToSortable: ".droppingZone",
    helper: "clone",
    revert: "invalid",
    stack: ".detail",
    cursor: "move",
    cancel: null
};

可拖动的:

<div data-bind="drag: $data, dragOptions: { start: onDragStart, stop: onDragStop }, click: function (e) { $root.addField($data); }">

可排序的:

<div class="well droppingZone" data-bind="sortable: { data: fieldsHelper, allowDrop: $root.isListFull, options: { update: onUpdate } }">

我正在使用 Knockout-sortable 插件将这些元素放入可排序的元素中。

我希望允许用户删除,直到列表已满。这就是为什么我allowDrop: $root.isListFull在文档中使用可排序绑定的原因。

问题是,无论$root.isListFull包含什么值(真/假),我仍然可以将项目放入可排序中。

我究竟做错了什么?

4

0 回答 0