1

剑道 UI V. 2012.2.924

所以我正在尝试用我的剑道树视图做一些非常混乱的事情。情况是这样的:我有一个按需加载的剑道树视图。我还实现了特殊的占位符节点,可以单击这些节点以将其他节点附加到每个级别(作为批处理的一种方式)。

我需要实现的功能是搜索。用户可以输入节点名称,树将展开到该节点并选择它。我已经弄清楚了服务器上的所有逻辑。唯一的问题是,通过按需加载,每次我将一个节点附加到父节点时,都会有一个服务器调用来获取该父节点的内容。我想禁用这个自动调用,直到我的手动附加完成。有人知道这是否可以做到吗?我已经从服务器尝试过,但是如果我只返回 null 它就会出错。如果我返回一个空列表,它会清除现有的附加节点。

任何帮助,将不胜感激。

4

1 回答 1

1

从描述看来,您实际上愿意禁用负载(不仅仅是loadOnDemand)。

您可以在transport.read检查控制变量(表示 loadOnDemand 是否启用或禁用的变量)的实现函数中对其进行控制。

示例 1:如果你有类似的东西:

transport: {
    read: {
        url: "data.jsp"
    },
},

您应该将其转换为:

transport: {
    read: {
        url: function () {
            if (!disableRead) {
                return "data.jsp"
            }
        }
    },
},

示例 2:如果你有类似的东西:

transport: {
    read: function (options) {
        ...
        options.success(data);
    }
},

您应该将其转换为:

transport: {
    read: function (options) {
        if (!disabledRead) {
            ...
            options.success(data);
        } else {
            options.success([]);
        }
    }
},
于 2013-01-18T19:45:45.740 回答