你如何使用导航器的Selected属性?

Mik*_*son 3 xpages

我花了好几天试图解决这个问题而且我放弃了.

我是一名LotusScript程序员,一直在努力学习XPages.我研究的所有示例和示例程序只涉及到这一部分.

有人可以一步一步地向我解释如何使用Extension Library Navigator控件的Selected属性吗?

我已根据扩展库中的布局控件创建了自己的自定义控件,并创建了一个名为navigationPath的自定义属性.我还创建了一个导航器自定义控件,它有5个页面链接节点.在每个页面链接节点的"选定"属性中,我放置了以下SSJS:

if(compositeData.navigationPath == "/Home/ApplicationPool"){
    return true
}else{
    return false
}
Run Code Online (Sandbox Code Playgroud)

/ Home/ApplicationPool对应于我在特定页面链接节点的"Selection"属性中放置的值.

在每个布局自定义控件中,我将"navigationPath"属性设置为compositeData.navigationPath.

我错过了什么?

Dec*_*nch 5

有一个selectedselection财产,他们的意思是非常不同的事情,不能同时使用.在上面问题的代码示例中,您使用的selected属性在这种情况下是错误的.

应该将导航器中的treeNodes设置为使用该selection属性,这是一个RegEx值,用于查看它是否与通过自定义属性传递到应用程序布局的值相匹配.

<xe:navigator id="navigator1" expandable="true" expandEffect="wipe">
  <xe:this.treeNodes>
    <xe:pageTreeNode label="nodeName" page="/page.xsp" selection="/Home/ApplicationPool" />
  </xe:this.treeNodes>
</xe:navigator>
Run Code Online (Sandbox Code Playgroud)

如您所见,您不需要使用任何SSJS来评估真/假结果.只需将treeNode中的值与XPage的applicationLayout控件中的值匹配即可.

如果您在布局titleBar中使用选项卡,那么您可以设置一个选择属性,它也使用这种格式/Home/.*,该选项卡将为每个XPage突出显示该选项卡/Home/的导航路径自定义属性.不要忘记它是RegEx,因此可以使用任何有效的RegEx语句为此特定属性添加更多功能.