隐藏/显示行为

提供专用的隐藏/显示标记支持,以供 hx:panelActionbar 组件使用。

此行为不适合于在 panelActionbar 组件实现外部进行一般性使用。要隐藏/显示某个字段,请使用带有 hide、show 和 inverthide 操作的 JSFBehaviorGeneric。

隐藏/显示 hx:panelActionbar 中的“节点”(子面板)。显示/隐藏该节点时,可以选择将该节点中可以“关闭”(隐藏)的子节点隐藏,即“自动折叠”。

将在页面上的一个隐藏字段中维护该节点的状态(可视/隐藏),您可以将该字段提交至服务器。因此,重新显示该页面时,可以对已打开/已关闭节点的“状态”进行维护。

发送组件的 JSF 标记

<hx:panelActionbar>

基本 HTML

无。仅在 <hx:panelActionbar> 的实现中使用。

JavaScript™ 构造函数

hX_5.addBehavior("id", "onclick", new hX_5.JSFBehaviorHS(attributes)); 其中

id

组件所连接至的 HTML 标记的 ID。

属性

逗号分隔的属性列表,其中每个属性都是一个加引号的字符串,此字符串包含使用冒号分隔的属性名称和值,例如,"label:MyLabel"。

受支持的事件

事件

描述

onclick

仅在 <hx:panelActionbar> 的实现中使用。

属性

表 1. 隐藏/显示行为属性

属性名称

描述

hide-object

隐藏/显示此标记。

hide-tree

如果存在,则等价于 hide-object。折叠 hide-object 中的所有子代表。

hide-field

页面上相应隐藏字段的 ID,该隐藏字段维护 hide-object 的当前状态。提交时会将该 ID 提交回服务器。返回值为“none”或“display”。

hide-field-value

Hide-field 的初始值。初始时,根据此值隐藏/显示 hide-object。Hide-field 的值也会随之初始化。

序列

在为该事件提供的任何其他处理程序运行完成后运行。

不会停止进行事件继续/冒泡。

API 调用

表 2. 隐藏/显示行为 API 调用

API 调用

描述

object = setAttribute(attribute)

设置属性,或如果以前已设置属性,则更改其值。

string = getAttribute(attribute-name)

检索属性的当前值。

局限性

在 JWL 2.1 以前,如果树中的某个节点包含 JSF 组件,则显示该节点时,可能无法正确地绘制该组件。现在,此问题已得到解决。

示例代码

对于带有 3 个子面板的 hx:panelActionbar,对每个子面板进行设置,以便用户单击该子面板时进行隐藏/显示:

hX.addBehavior("actionbar2_link", "onclick",new hX.JSFBehaviorHS ("hide-object:actionbar2_table", 
                 "hide-tree:actionbar2_table","hide-field:actionbar2_display", "hide-field-value:display"));
hX.addBehavior("actionbar5_link", "onclick",new hX.JSFBehaviorHS ("hide-object:actionbar5_table", 
                 "hide-tree:actionbar5_table","hide-field:actionbar5_display", "hide-field-value:none"));
hX.addBehavior("actionbar3_link", "onclick",new hX.JSFBehaviorHS ("hide-object:actionbar3_table", 
                 "hide-tree:actionbar3_table","hide-field:actionbar3_display", "hide-field-value:none"));

反馈