【发布时间】:2013-07-09 19:02:48
【问题描述】:
我将保留下面的问题,但如果其他人有此问题,则问题是剑道中的错误,并且已在最新版本中修复。所以解决办法是更新到最新的剑道版本。
我一直在尝试找到一种在 kendo-ui 树视图中列出所有节点的好方法,并且已经设法将一种非常可靠的方法组合在一起。首先我定义了数据源,为了简单起见让我们说:
data = [
{text:element1, items:[
{text:element2},
{text:element3}]},
{text:element4}]
然后,我将数据源设置为 observableHierarchy:
my_treeview.setDataSource(kendo.observableHierarchy(data));
当我想访问节点列表时,我可以得到一个 JSON 对象:
my_treeview.dataSource.data().toJSON();
这很好用;它会生成一个正确、格式正确的 JSON 对象。如果我在上面调用 JSON.stringify,我会得到:
[{"text":"element1","items":[{"text":"element2","items":[]},{"text":"element3","items":[]}]},{"text":"element4","items":[]}]
但是,当我在树上启用拖放并将元素拖到不同的父级时,它会从 json 输出中消失。比如我把element3拖到element4里面,返回的json对象是:
[{"text":"element1","items":[{"text":"element2","items":[]}]},{"text":"element4","items":[]}]
相当于:
data = [
{text:element1, items:[
{text:element2}]}
{text:element4}]
但是,表格的显示仍然正确,元素 3 似乎是元素 4 的子元素。所以我的问题是,如何让数据源通过拖放正确更新?
【问题讨论】:
-
如果您的问题已解决,请将解决方案作为答案发布,然后接受它,而不是用它来更新主帖。
-
抱歉,好主意。已经有一段时间了,但我会继续这样做,以防有人遇到同样的问题。