【问题标题】:How can i remove the expand arrow in kendo ui treeview if there are no child's to display如果没有要显示的孩子,我如何删除剑道 UI 树视图中的展开箭头
【发布时间】:2012-11-26 12:23:57
【问题描述】:

我正在使用剑道 UI 树视图。我正在从数据库中动态加载树视图。但我的问题是,如果没有要显示的孩子,我会收到展开错误。如何删除展开箭头。

问候,

斯里

【问题讨论】:

  • 父级中没有items
  • 是的。当我没有父项的子项时,我也得到了展开箭头
  • 您介意分享一些代码(如何初始化树和数据源)吗?

标签: kendo-ui kendo-treeview


【解决方案1】:

有一个名为 hasChildren 的 HierarchicalDataSource schema.model 对象的配置字段,您可以向模型添加一个布尔属性,指示您的模型是否有项目。

这样,当 TreeView 创建其元素时,它将检查该属性(或调用函数 - 例如,如果 items.leght 大于零,您可以返回),如果返回值为 false,则不会创建展开箭头在项目的前面。

查看this演示。

【讨论】:

    【解决方案2】:

    例如,我在我的 Kendo Ui TreeView 中声明了这样的函数:

     var inline = new kendo.data.HierarchicalDataSource({
            data: @Html.Raw(dataSource),
            schema: {
                model: {
                    children: "Children",
                    hasChildren: function(e) {
                        var test = e.Children.length;
                        return test > 0; 
                    }
                }
            }
        });
    

    对我来说,它完美无缺!

    【讨论】:

    • 我认为如果您显示更多代码或 jsfiddle 将是理想的。对我来说,它确实仅在它有孩子时才显示箭头,但是一旦我单击我知道有孩子的父节点箭头,我就会收到一个错误:未捕获的类型错误:无法读取未定义的属性“长度”,对我来说有孩子:“项目”,然后我使用 e.items.length 我想知道这是否是保留关键字
    • @Tom Stikel 在剑道 UI 中,术语“项目”是关键字,请尝试使用其他属性名称
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多