gpt4 book ai didi

jquery - kendo ui treeview 存在 json 速度问题

转载 作者:行者123 更新时间:2023-12-01 01:15:26 25 4
gpt4 key购买 nike

我已经用外部 json 文件完成了 kendo ui 树

如果我的节点数在 200 左右,这工作正常

但是如果我有大量数据,则需要很长时间

检查这个http://infinitelyinfinite.com/treeview/

这是我的 jQuery 代码

$.getJSON("/testTree.json", function (data) {
$("#treeview").kendoTreeView({
dataSource: data
});
})

这是我的 JSON 文件的示例

[
{
"id" :100,
"text" :"Region",
"items":[
{
"id" :1,
"text" :"Asia",
"parent_id" :100,
"items":[
{
"id" :2,
"text" :"Central Asia",
"parent_id" :1,
"items":[
{
"id" :3,
"text":"Afghanistan",
"parent_id" :2,
},
{
"id" :4,
"text":"Azerbaijan",
"parent_id" :2,
}
]
},
{
"id" :5,
"text" :"East Asia",
"parent_id" : 1,
"items":[
{
"id" :6,
"text":"China"
}
]
}
]
},
{
"id" :7,
"text" :"Europe",
"parent_id" :100,
"items":[
{
"id" :8,
"text" :"Central Europe",
"parent_id" :7,
"items":[
{
"id" :9,
"text" :"Austria",
"parent_id" :8,
"items":[
{
"id" :10,
"parent_id" :9,
"text":"Carinthia"
}
]
},
{
"id" :11,
"text" :"Czech Republic",
"parent_id" :8,
"items":[
{
"id" :12,
"text":"Carinthia",
"parent_id" :11,
}
]
}
]
}
]
}
]
}
]

有什么办法可以加快速度吗?需要一些时间 30S 或 40S

最佳答案

将代码更改为:

$.getJSON("/testTree.json", function (data) {
$("#treeview").kendoTreeView({
dataSource: {
data : data
}
});
});

从对象而不是数组初始化数据源似乎要快得多。

您网站中的代码(经过一些小的清理后)将显示为:

<head>
<title> Json Tree</title>
<link href="styles/kendo.common.min.css" rel="stylesheet"/>
<link href="styles/kendo.default.min.css" rel="stylesheet"/>
<script src="js/jquery.min.js"></script>
<script src="js/kendo.all.min.js"></script>
</head>

<div class="demo-section" style="float:left;">
<h3 class="title">Select Continents</h3>

<div id="treeview" class="demo-section"></div>
</div>
<body>
<script type="text/javascript" charset=utf-8>
// $(document).ready(function () {
$.getJSON("/js/region_tree.json", function (data) {
$("#treeview").kendoTreeView({
dataSource : {
data: data
},
dataTextField : "text",
dataValueField: "id"
});
});

// });
</script>
</body>

你也可以这样做:

<script type="text/javascript" charset=utf-8>
$(document).ready(function () {
var tree = $("#treeview").kendoTreeView({
dataTextField : "text",
dataValueField: "id"
}).data("kendoTreeView");

$.getJSON("/js/region_tree.json", function (data) {
tree.dataSource.data(data);
});
});
</script>

使用 getJSON 读取 JSON 后,我直接将其分配给树的 dataSource

关于jquery - kendo ui treeview 存在 json 速度问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18942706/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com