我正在关注VirtualTree演示,似乎无法找到选择父母的方法:
tree.getSelection().addListener("change", function(e){
var selection = tree.getSelection();
console.log(selection.getItem(0).getName()); // works just fine to get the name
}
我正试图从这家JSON商店获取“祖父母”和“父母”这些属性:
{
"name": "root",
"children": [
{
"name": "Grandparent",
"children": [
{
"name": "Parent",
"children": [
{
"name": "Name of my Selected Item",
我试过这个:
tree.getModel().getChildren().getItem(0)
但是获取getItem(X)的值X也不是直截了当的。
我很感激你能提供的任何帮助。谢谢!
答案 0 :(得分:1)
由于树数据模型默认没有任何父引用。没有简单的方法来实现这一目标。不过,你有两个选择。
您可以使用自己的树类作为模型,并自己实现父引用。这可以通过使用封送器[1]的委托来完成。只需确保不激活父引用的气泡事件,因为这会导致死锁。
您可以实施搜索算法以获取父级。如果您不经常需要该参考而且您的数据不是太大,那么这也是您可以采取的方式。
[1] http://demo.qooxdoo.org/current/apiviewer/#qx.data.marshal.IMarshalerDelegate