首页 > 解决方案 > SAPUI5 IconTabBar 在用户交互之前和之后获取选择

问题描述

我有一个带有 SAPUI5 的 XML 视图,<IconTabBar>它连接到事件处理程序方法。它看起来像这样:

<IconTabBar id="ITB1" select="onSelect">
  <items>
    <IconTabFilter id="ITF1" text="{i18n>textITF1}" icon="sap-icon://area-chart"/>
    <IconTabFilter id="ITF2" text="{i18n>textITF2}" icon="sap-icon://area-chart"/>
    <IconTabFilter id="ITF3" text="{i18n>textITF3}" icon="sap-icon://area-chart"/>
  </items>
</IconTabBar>

现在我想检查功能

onSelect 

在用户“点击”之前和用户“点击”之后选择了什么。前任 首先ITF1被选中,现在ITF2被选中。根据最后选择的IconTabFilter我想做不同的处理。

我的问题是在onSelect函数中选定的项目已经更新,所以我不知道在用户交互之前选择了什么。

IconTabBar有没有办法在控件中更改之前获取所选项目?

最好的问候克里斯蒂安

标签: javascriptxmleventscontrolssapui5

解决方案


不,事件中没有参数,它告诉你之前的状态。你可以自己存储

_previousIFT: 'IFT1',
 onSelect: function(oEvent) {
      var oPrevIFT = this.getView().byId(this._previousIFT);
     // do something with oPrevIFT and new IFT from event
      // store the Id of the new IFT from event into this._previousIFT
 }

推荐阅读