У меня есть сплит-приложение, с левой стороны - основной список с людьми. правая сторона - подробная страница с информацией и элементом RatingIndicator. Два списка на странице сведений, которые связаны через ассоциации:/Мастер/Деталь/Рейтинг.SAPUI5 List CustomListItem/Rerender Issue
Всякий раз, когда я пользуюсь индикатором рейтинга, кажется, что страница перерисовывается, что делает все медленным в конце. Я попробовал как двухстороннюю привязку, так и одностороннюю привязку с ручным обновлением модели. Он по-прежнему перезагружает/перезагружает страницу каждый раз, когда я использую индикатор рейтинга.
Любая идея кого-то?
Библиотека SAPUI5 находится на версии 1.28.31.
Редактировать: В то же время я уменьшил сложность (нет списков в списках, подумал, что это может быть проблемой, но это не так), и все еще проблема возникает. Даже сейчас, когда я использую индикатор «Рейтинг», вся страница «Подробности» перезагружается/редерс. Что мне делать?
Перед нажатием на индикатор Рейтинг:
Сразу после того, как cliking индикатор рейтинга, правая Detail страница исчезает и вновь появляется жгутов секунд.
Вид:
<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);
},
Нет решения, просто замечание: не рекомендуется использовать сложные элементы управления в качестве содержимого CustomListItem. https://sapui5.hana.ondemand.com/sdk/explored.html#/entity/sap.m.CustomListItem/about – matbtt
получил его, но я не видел никаких параметров. Все элементы из ассоциаций являются динамическими, поэтому я не могу реализовать фиксированный макет ... – zyrex