Kendo TreeView:我可以暂时禁用按需加载吗?

时间:2013-01-18 15:41:15

标签: javascript kendo-ui kendo-treeview

Kendo UI V. 2012.2.924

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

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

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分: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([]);
        }
    }
},