确保ADF Popup组件的AutoDismiss属性为false,以避免在焦点变化或单击外部元素时自动关闭。
可以在ADF组件中使用一个封装器来捕获并处理筛选事件。这可以通过将Filter组件包装在一个Form组件中来实现,在Form组件的onSubmit属性上添加一个处理函数,该函数中可以设置需要更新的数据和状态。
例如,以下代码演示了如何使用ADF组件和自定义代码来解决此问题:
在
标签中设置autoDismiss
属性为false
,确保弹出窗口不会自动关闭。
在
标签中设置onSubmit参数为代码中的处理函数名即可。
function handlePopupSubmit(event) {
// 防止表单自动刷新
event.preventDefault();
// 处理表单数据
let value = event.target.popupInput.value;
// 更新需要更新的数据
// ...
// 显示处理结果
event.target.popupInput.value = '';
AdfCustomEvent.queue(event.getSource(), "clientAction", {}, true);
}
在处理函数中获取表单的值,进行数据处理和更新,最后手动执行刷新操作,以显示处理结果。
参考资料:
Oracle ADF官方文档:Working with Popups
https://docs.oracle.com/en/middleware/developer-tools/jet/7.0/develop/bindings-and-lists/#Using_Popups
ADF Faces组件库文档:Popup
https://docs.oracle.com/middleware/1212/adf/tag-reference/html