我有一个拆分应用程序,左手边是人员的主人名单。右侧带有info和RatingIndicator元素的详细信息页面。详细信息页面上的两个列表通过关联绑定:/ Master / Detail / Rating。
每当我使用评级指标时,似乎页面正在重新渲染,这使得一切都变得缓慢。我尝试了双向绑定和单向绑定手动更新模型。每次我使用评级指标时,它仍会重新呈现/重新加载页面。
有人在想吗?
SAPUI5库的版本为1.28.31。
编辑:与此同时,我降低了复杂性(列表中没有列表,认为这可能是问题,但它不是),但问题仍然存在。即使现在,当我使用评级指标时,整个详细信息页面会重新加载/重新呈现。 我该怎么办?
在点击评级指示器后,右侧的详细信息页面会消失并重新出现几秒钟。
查看:
<mvc:View controllerName="split.controller.Detail" xmlns="sap.m"
xmlns:core="sap.ui.core" xmlns:mvc="sap.ui.core.mvc" xmlns:footerbar="sap.ushell.ui.footerbar"
xmlns:f="sap.ui.layout.form" xmlns:l="sap.ui.layout">
<Page id="page" navButtonPress="onNavBack" showNavButton="{device>/system/phone}"
title="{i18n>detailTitle}" busy="{detailView>/busy}"
busyIndicatorDelay="{detailView>/delay}" class="sapUiResponsiveContentPadding">
<content>
<List items="{ path: 'WorklistToDocument' }">
<CustomListItem>
<VBox class="sapUiSmallMargin" }">
<Title titleStyle="H3" text="{Title}" }" />
<Text text="{Description}" }" />
</VBox>
<VBox class="sapUiSmallMargin">
<Text text="{Description}" />
<CheckBox selected="{NotApplicable}" select="onNACheckBoxSelect" />
<RatingIndicator value="{RatingValue}" maxValue="{MaxValue}" change="onRatingChanged" />
<Text
text="{ path: 'RatingValue', formatter: '.formatter.ratingText' }" />
</VBox>
</CustomListItem>
</List>
</content>
</Page>
控制器:
onRatingChanged: function(oEvent) {
var oSource = oEvent.getSource();
var oModel = this.getModel();
var sPath = oSource.getBindingContext().sPath;
var sCtxPath = sPath + "/RatingValue";
var sCtxPathNA = sPath + "/NotApplicable";
var iValue = oEvent.getParameter("value");
oModel.setProperty(sCtxPath, iValue);
oModel.setProperty(sCtxPathNA, false);
},
答案 0 :(得分:0)
这一行
var sCtxPath = sPath +&#34; / RatingValue&#34;;
没有导致另一个&#34;变化&#34;事件触发器? 另外,格式化程序中是否存在可能导致“挂起”的循环?
那么你的主人用相同的odata路径发生的任何事件呢?