我期望根据某些过滤条件隐藏Fiori应用程序的详细信息页面中的批准/拒绝按钮。过滤器通过视图/控制器扩展添加到主列表视图(左侧视图)中。 现在,如果用户选择了某种类型的过滤器(比如过去的订单) - 那么批准/拒绝按钮不应该显示在订单明细页中。 这是我怎样在报头中定义的按钮/详细视图隐藏Fiori主页中的批准/拒绝按钮详细信息页面
this.oHeaderFooterOptions = {
oPositiveAction: {
sI18nBtnTxt: that.resourceBundle.getText("XBUT_APPROVE"),
id :"btn_approve",
onBtnPressed: jQuery.proxy(that.handleApprove, that)
},
oNegativeAction: {
sI18nBtnTxt: that.resourceBundle.getText("XBUT_REJECT"),
id :"btn_reject",
onBtnPressed: jQuery.proxy(that.handleReject, that)
},
但是在运行时,这些按钮没有被分配我所提到的标识,而不是它们与__button0和__button1的ID的创建。
有没有办法从主列表视图中隐藏这些按钮?
谢谢。
嗨托比亚斯 - 感谢您的回复。那么问题是过滤器事件处理程序是在不同的控制器(S2列表)中定义的,并且按钮位于S3标题视图中。在这种情况下,我如何控制按钮的可见性? – user3161840 2014-10-06 15:53:29
嗨,你可以在组件的事件总线上触发事件,请参阅https://openui5.hana.ondemand.com/#docs/api/symbols/sap.ui.core.Component.html。您在S3控制器中发布事件,并在S2控制器中订阅。订阅处理程序你修改headerFooterOptions – TobiasOetzel 2014-10-07 06:35:30
HI Tobias - 这是一个好主意。感谢您的回复。对于迟到回来抱歉。取代全局事件总线,是否有办法获得组件的事件总线?我认为这是适当的。 – user3161840 2014-10-14 18:53:43