问题标签 [dijit.tree]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
590 浏览

dynamic - 连接到 dojo/store/JsonRest 时 dijit/Tree 未更新

我已经修改了http://dojotoolkit.org/documentation/tutorials/1.10/store_driven_tree/demo/demo.html上的 dojo 教程,以从 JsonRest 存储中读取。

问题是当我在根元素上单击“将新子项添加到选定项目”时,树显示不会更新,尽管更新在原始教程中有效。

我比较了 dojo/store/Memory(来自原始教程)和 dojo/store/JsonRest 在“put”请求后返回的内容:Memory 返回新对象的 id。JsonRest 以“return xhr(...)”结尾,所以它返回一个 Deferred 而不是新的 id,这似乎不被 Observable 理解。如果我将 dojo/store/JsonRest.js 更改为以以下结尾,我可以使它工作:

我希望有一个不修改dojo源的解决方案?!

更多细节如下:

这是我的存储而不是原始内存存储的定义:

(如果我删除缓存并直接使用 JsonRest,即使修改后的 JsonRest.js 也不会使 Tree 更新)。

这是从 PUT 请求到 json 服务器的回复:

请帮助允许 dijit/Tree 对底层 JsonRest 存储的更改做出反应,而不会弄乱 dojo 源。

谢谢

多米尼克

0 投票
1 回答
1679 浏览

tree - Dijit 树过滤和搜索不适用于 ObjectStoreModel

我创建了一个 dijit 树和一个文本框,我想根据文本框中提供的关键字过滤树节点。我实施了另一个问题中提供的解决方案,但它似乎不起作用。当用户在文本框中输入一些单词时,树会重新填充相同的数据。

dijit.Tree 搜索和刷新

以下是我的代码:

请参阅 JSFIDDLE 的示例代码:http: //jsfiddle.net/xLfdhnrf/16/

树和文本框渲染得很好,只有搜索不起作用,有什么建议吗?还有为什么 EXPAND (+) 符号与叶节点一起显示?

可过滤树的快照

0 投票
1 回答
349 浏览

javascript - 即使没有孩子,dijit.Tree 文件夹也会显示带有 PLUS 图标

我正在使用以下代码来渲染 dijit.Tree,从图片中可以看出我有这些问题:

  • 该文件夹标有“加号图标”,但任何节点都不存在子级。
  • 如果我点击一个文件夹,“加号图标”就会消失(首先不应该在那里)。

你能告诉我我在这里做错了什么吗?

在此处输入图像描述

0 投票
2 回答
251 浏览

javascript - dojo 声明构造函数:对象成员引用未定义

我不知道为什么会遇到麻烦,在下面这段代码this.treeStore的方法中引用类成员对象?checkAcceptance

代码片段(链接到正在运行的 jsfiddle 示例...):

尝试拖动树的节点会导致 firefox/firebug 控制台出现以下错误:

类型错误:this.treeStore 未定义

任何帮助将不胜感激 :)

0 投票
0 回答
162 浏览

dojo - XPages:dijit.Tree dojo.xhrPost 和部分刷新?

我有一个dijit.Tree工作正常。用户可以在这棵树(jsfiddle)上添加、删除和重命名节点,如果他们有特殊授权的话。

下一步是将此更改发布回服务器,该服务器完美运行,dojo.xhrPostXAgent(而不是 XAgent 结合使用,可以使用 REST-Services 类型的扩展库控制来实现此功能customRestService。但是,直到多米诺骨牌第 9 版...

源代码:

现在的问题:

我需要向用户显示一些从服务器返回的信息(load : function(data) {...})。

可能的解决方案:

  1. 只在客户端(例如dojo.byId("#{id:txtMessage}").innerHTML = data.message;)做吗?

优点:不需要部分刷新

缺点:我不能使用已经实现的自定义控件(例如计算渲染属性)

  1. 成功后做一些部分刷新xhrPost吗?如果这是正确的选择,我应该如何以及在成功执行 xhrPost 后实现部分刷新?

我的感觉说不,因为为什么我应该只为使信息可见(例如渲染属性......)进行部分刷新。

  1. 做点别的吗?

我不确定哪个是处理我的要求的最佳方法?

提示:我正在开发 Domino Sever 8.5.3 FP6

提前感谢您的任何回答。

0 投票
1 回答
405 浏览

checkbox - dojo/dijit 树复选框在父单击时选择子

我在网上找到了工作示例,我可以看到树的每个节点旁边的复选框。上一节提到的小提琴链接如下所示:

不显示复选框的 Dojo 树

现在我的要求是当父节点被检查时,所有子节点也应该被检查并且它应该在 DOJO 1.3 版本中工作可以帮助某人帮助修复小提琴代码

0 投票
1 回答
603 浏览

javascript - Dojo 1.10 - 在保持扩展节点状态的同时刷新树视图

我有一个 Dojo 树,在其中我使用 getIconClass 方法根据项目值更改图标:

我正在寻找一种在项目属性更改时刷新树视图的方法,现在我发现了这个:

这个函数刷新树,但它实际上重建了视图,所以:

  • 树有时间再次出现
  • 扩展节点状态被重新初始化

所以我的问题是:在保持扩展节点状态的情况下即时动态更新树的方法是什么?

我开始编写一些东西来获取扩展节点状态,但是当我需要再次设置扩展节点状态时,由于树视图有时间显示,我需要一个回调来知道树视图何时完成显示,而我没有没找到。顺便说一句,让树形视图立即出现是否合适?

0 投票
3 回答
339 浏览

dojo - 带有复选框的 Dojo dijit 树无法通过键盘访问

我创建了一个 dijit.Tree 对象,其中每个节点都是一个复选框。当您选择/取消选择父节点时,子节点会被选择/取消选择;当其中一个孩子被取消选择时,父母被取消选择;当所有孩子都被选中时,父母被选中。它工作得很好。
但是我需要它可以通过键盘访问。当我导航到树节点并按空格键或 Enter 时,没有任何反应。

我尝试将 tabindex 和 aria-role 添加到复选框(以编程方式),但它不起作用。

这是小提琴 - http://jsfiddle.net/pdabade/pyz9Lcpv/65/

关于如何使其键盘可访问的任何想法?

谢谢!

0 投票
1 回答
468 浏览

dojo - 在 Dijit 树中移动节点

我使用树作为输入工具来允许用户组织类别。

我希望用户能够在顶层移动节点,特别是在同一个父级下重新排序它们。

一切看起来都很好,直到需要更新商店 - 显示错误 - 移动的项目未显示在正确的位置。

JSFiddle

https://bugs.dojotoolkit.org/ticket/18142 - 我可以在这方面投入更多时间,但我不想这样做。选择不同的方法 - 使用传统输入并提供只读树视图。

0 投票
1 回答
389 浏览

java - 试图在 XPages 中为 dojo 树使用 customRestService 和 serviceBean

我正在尝试创建一个道场树,暂时使用测试数据。bean 总是返回相同的。当我将数据放在 nsf 资源中的文件中时,它可以工作。使用 bean,它失败了。它只显示单词 Continent,我无法打开和下降节点。

有人可以帮我吗?我将不胜感激!

我的代码,store2 工作的地方,store1 出错,store0 只显示 Continent:

country.json 包含:

bean 生成完全相同,但为了完整起见,我将在此处添加代码:

所有这些主要基于 Jeroen Somhorst 和其他人所做的工作,请参阅http://www.jeroensomhorst.eu/uncategorized/viewpanel-vs-dijit-tree-part-1/和 part-2。

PS Dank je,Jeroen,maar waar 是第 3 部分??;-)