1

从由多个边框、拆分等组成的视图中的操作,我想访问位于视图不同表中的数据。

为此,我尝试推断 getSelectedModel、getModel 方法的 viewPath 参数。

视图的结构是什么,如何在不同的表之间导航并推断 viewPath 以便调用 getSelectedModel / getModel...?

4

1 回答 1

1

视图路径是一组索引,允许从一个视图导航到包含层次结构中的另一个视图。它用于AbstractActionContextAware由所有操作扩展的类的多个方法中,但您也可以从任何需要实用程序方法来探索操作上下文的应用程序类进行扩展。

此视图路径背后的基本原理是从触发操作的视图开始,然后按照视图路径到达目标视图,例如,获取其选定的索引。

导航规则如下:

  • 路径中的负步​​索引 ( -n ) 表示向上导航到第n 个父级
  • 路径中的正步索引 ( +n ) 表示向下导航到第n 个孩子

找到积极步骤时子视图的索引取决于您所在的容器类型。以下是规则:

  • 子索引是从零开始的。
  • 边界容器的子项按照以下固定顺序进行索引:西。如果缺少一个孩子,则不予考虑,例如在只有北部和中心孩子视图的边界中,中心孩子将具有索引1
  • 网格容器的子项(evenconstrained)、tab 容器按照它们的声明顺序进行索引。
  • 拆分容器子项根据其方向从上到下从左到右进行索引。

例如,给定以下 UI:

split_horizontal {
  left {
    tabs {
      form
      table('A')
    }
  }
  right {
    border {
      top {
        form
      }
      center {
        table('B')
      }
    }
  }
}

从表`A`到表的视图路径`B`将是: [-1, -1, 1, 1]

于 2015-05-17T08:00:40.187 回答