如何自动隐藏/显示组件
How to hide/show adf component automatically
嗨,我想自动隐藏一个adf组件。我有一个selectOneChoice,包含一些数字(从1到12)。例如,当我选择2,它显示的两个字段自动不点击任何按钮。我使用这个函数来隐藏一个声明的组件,但是当我点击一个按钮…
function enableField(actionEvent) {
var nameInputText = actionEvent.getSource().findComponent("soc1");
nameInputText.setProperty("visible", true);
actionEvent.cancel();
}
我将组件"soc1"设置为可见= true,而不是通过javascript函数更改它..
所以这里的问题是如何从selectonechoise中读取数字,以及如何在不单击任何按钮的情况下直接设置组件可见。
实际上渲染不会做你想要的。你需要使用可见属性。render会导致组件的实际标记不在页面上呈现,因此部分刷新不会导致它出现。渲染是保留的,通常用于隐藏安全的项。我们将渲染属性设置为false,然后刷新包含的父组件——通常是布局管理器——然后它就工作了。所以要么刷新包含该项的布局管理器,要么使用Visible。我上周在课堂上演示了这个用例,它像描述的那样工作。
基本上,你不需要javascript解决方案或任何编程来实现这一点。
你应该设置属性rendered
(这样组件就不会在页面上呈现)和partialTriggers
,指向selectOneChoice
组件,为你想要显示或隐藏的组件。此外,您必须为selectOneChoice
组件设置autoSubmit="true"
。
<af:selectOneChoice id="soc1" autoSubmit="true" .../>
<af:panelGroupLayout id="plg1" partialTriggers="soc1">
<af:outputText id="ot1" rendered="#{bindings.lov.inputValue le 1}" inputValue="text1"/>
</af:panelGroupLayout>
注意:这不是工作代码,只是一个示例
它将按照以下方式工作,在selectonchoice的valueChange事件上提交组件值,并为在partialTriggers
中指定了它的组件触发partialRefresh。rendered
属性将根据它的EL表达式呈现或删除组件。应该被管理的组件被包装到另一个组件中,以确保PPR在未呈现时到达它。
- React重新渲染但未显示正确的组件
- 是否有任何JavaScript UI组件可以显示字符串之间的差异
- 自定义HTML元素属性未显示-Web组件
- 带有内置图像对象的Canvas组件构造函数;t显示's图像
- ReactJS组件中显示的视频未更新
- 在另一个文件夹中显示React组件
- 访问要在 React Native Text 组件中显示的对象数组
- 如何使用Vue.js(使用Vueify)通过组件显示数据
- 如何防止其他元素在拖动任何devexpress组件时高亮显示
- <对象>中的 SVG 不会显示在 IE 的 Angular 2 组件中
- 在火狐附加组件面板中显示远程图像
- Twitter Bootstrap v3.0.0 未显示模态组件
- 显示/隐藏 ReactJS 组件而不会丢失其内部状态
- 角度中的组合框(选择组件)不基于参数设置显示值
- 在 ExtJS 组件中显示富文本
- React路由器未显示组件
- 如何自动隐藏/显示组件
- 使用angularjs隐藏和显示组件
- 使用componentDidMount隐藏/显示组件
- 在Ext.form.Panel中显示组件