sapui5访问没有id的控制器
sapui5 access to controller without id
我是sapui5的新人。我有一个列表,其中每个元素都包含一个按钮和一个图像。我想通过按下按钮来更改图像源(只有图像是与按钮相同的列表元素的一部分)。是否可以在没有 id 的情况下访问图像? (怎么做?)
Xml代码:
<List items="{data>/Stages}">
<CustomListItem>
<Panel>
<headerToolbar>
<Toolbar class="topDetailToolbar" style="Clear">
<Title class="sapUiSmallMarginBegin fieldWorkTitle" text="{data>Name}" titleStyle="H2" />
<ToolbarSpacer />
<Button text="{i18n>TECH_CARD_ROLL}" class="addButton sapUiSmallMarginBottom" press="onVisibleFilters" />
<core:Icon src="sap-icon://navigation-up-arrow" size="1rem" color="#00c0db" visible="{confFilter>/filterUp}" />
</Toolbar>
</headerToolbar>
</Panel>
</CustomListItem>
</List>
这是你应该做的:
var oButton = oEvent.getSource(); //this returns the button which triggers the press event
var oListItem = oButton.getParent(); //returns the listItem in which the button was pressed
var aCells = oListItem.getAggregation("cells");
您应该能够在单元格数组的索引之一中找到图像。
您可以通过向图标添加样式 class
并使用 jQuery
获取图标实例并使用 setSrc()
重置来实现它
事件处理器 - onVisibleFilters
改变图标src
onVisibleFilters: function(oEvent) {
var oToolbarId = oEvent.getSource().getParent().sId;//get Parent toolbar of button
var sIconId = jQuery("#" + oToolbarId).find(".hdrIcon").attr("id");//get Icon id using jQuery and hdrIcon class
if(sIconId) {
var oIcon = sap.ui.getCore().byId(sIconId);
if(oIcon) oIcon.setSrc("sap-icon://lab");//update the icon src
}
}
我是sapui5的新人。我有一个列表,其中每个元素都包含一个按钮和一个图像。我想通过按下按钮来更改图像源(只有图像是与按钮相同的列表元素的一部分)。是否可以在没有 id 的情况下访问图像? (怎么做?)
Xml代码:
<List items="{data>/Stages}">
<CustomListItem>
<Panel>
<headerToolbar>
<Toolbar class="topDetailToolbar" style="Clear">
<Title class="sapUiSmallMarginBegin fieldWorkTitle" text="{data>Name}" titleStyle="H2" />
<ToolbarSpacer />
<Button text="{i18n>TECH_CARD_ROLL}" class="addButton sapUiSmallMarginBottom" press="onVisibleFilters" />
<core:Icon src="sap-icon://navigation-up-arrow" size="1rem" color="#00c0db" visible="{confFilter>/filterUp}" />
</Toolbar>
</headerToolbar>
</Panel>
</CustomListItem>
</List>
这是你应该做的:
var oButton = oEvent.getSource(); //this returns the button which triggers the press event
var oListItem = oButton.getParent(); //returns the listItem in which the button was pressed
var aCells = oListItem.getAggregation("cells");
您应该能够在单元格数组的索引之一中找到图像。
您可以通过向图标添加样式 class
并使用 jQuery
获取图标实例并使用 setSrc()
事件处理器 - onVisibleFilters
改变图标src
onVisibleFilters: function(oEvent) {
var oToolbarId = oEvent.getSource().getParent().sId;//get Parent toolbar of button
var sIconId = jQuery("#" + oToolbarId).find(".hdrIcon").attr("id");//get Icon id using jQuery and hdrIcon class
if(sIconId) {
var oIcon = sap.ui.getCore().byId(sIconId);
if(oIcon) oIcon.setSrc("sap-icon://lab");//update the icon src
}
}