Qooxdoo - 有没有办法获得VirtualTree选择的父级?

时间:2012-05-23 14:30:08

标签: qooxdoo

我正在关注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也不是直截了当的。

我很感激你能提供的任何帮助。谢谢!

1 个答案:

答案 0 :(得分:1)

由于树数据模型默认没有任何父引用。没有简单的方法来实现这一目标。不过,你有两个选择。

  1. 您可以使用自己的树类作为模型,并自己实现父引用。这可以通过使用封送器[1]的委托来完成。只需确保不激活父引用的气泡事件,因为这会导致死锁。

  2. 您可以实施搜索算法以获取父级。如果您不经常需要该参考而且您的数据不是太大,那么这也是您可以采取的方式。

  3. [1] http://demo.qooxdoo.org/current/apiviewer/#qx.data.marshal.IMarshalerDelegate