XPages移动控件未正确刷新

XPages移动控件未正确刷新,xpages,xpages-extlib,Xpages,Xpages Extlib,我创建了一个单页应用程序,它在某些页面转换中的表现似乎非常糟糕 我有一个父文档的视图,然后我点击一个文档来加载它,OK。我在父级上有一个“添加项目”按钮,用于组成一个新的子文档,该子文档将根据文档id与加载的父级相关 问题是,当我在编辑模式下加载新的子文档时,上一页仍然显示在屏幕上。我现在有一堆乱七八糟的控件,事情会变得更糟。如果我单击子文档上的“后退”按钮,我会在父文档页面返回背景页面,但现在子文档仍以编辑模式加载到前台。如果我再次回击,它将转到没有加载文档的父窗体 我在所有页面上使用设置re

我创建了一个单页应用程序,它在某些页面转换中的表现似乎非常糟糕

我有一个父文档的视图,然后我点击一个文档来加载它,OK。我在父级上有一个“添加项目”按钮,用于组成一个新的子文档,该子文档将根据文档id与加载的父级相关

问题是,当我在编辑模式下加载新的子文档时,上一页仍然显示在屏幕上。我现在有一堆乱七八糟的控件,事情会变得更糟。如果我单击子文档上的“后退”按钮,我会在父文档页面返回背景页面,但现在子文档仍以编辑模式加载到前台。如果我再次回击,它将转到没有加载文档的父窗体

我在所有页面上使用设置resetContent=“true”,我的“添加项目”命令是:

<xe:moveTo targetPage="ItemPage" forceFullRefresh="true" saveDocument="true"></xe:moveTo>

我也尝试过:

<xe:moveTo targetPage="ItemPage" forceFullRefresh="true" saveDocument="false"></xe:moveTo>

我做错了什么?这是带有升级包1的Domino8.5.3FP3

好的,这是页面标题中的按钮代码:

<xe:djxmHeading id="ReqHeading" label="Requisition" back="Back" moveTo="viewAllRequisitions">
    <xp:this.facets>
        <xp:button value="Add Item" id="actionFacetButton1" xp:key="actionFacet">
            <xp:eventHandler event="onclick" submit="true" refreshMode="complete">
                <xp:this.action>
                    <xp:actionGroup>
                        <xp:saveDocument var="document1"></xp:saveDocument>
                        <xp:executeScript script="#{javascript:sessionScope.RequisitionID = document1.getDocument().getUniversalID();}">
                        </xp:executeScript>
                        <xe:moveTo targetPage="ItemPage" forceFullRefresh="true" saveDocument="true"></xe:moveTo>
                    </xp:actionGroup>
                </xp:this.action>
            </xp:eventHandler>
        </xp:button>
    </xp:this.facets>
</xe:djxmHeading>

这是新的子文档页面:

<xe:djxmHeading id="ItemHeading" label="Add Item" back="Back" moveTo="RequisitionPage">
</xe:djxmHeading>
<xp:this.data>
    <xp:dominoDocument var="document1" formName="Item">
    </xp:dominoDocument>
</xp:this.data>
<xp:label value="Job Number:" id="labelSubject1"></xp:label>
<xp:inputText id="txtSubject" value="#{document1.JobNumber}">
</xp:inputText>
<xp:br />
<xp:label value="Item Description: " id="lblDescription"></xp:label>
<xp:inputText id="txtDescription" value="#{document1.Description}"></xp:inputText>
<xp:br />
<xp:label value="Quantity: " id="lblQuantity"></xp:label>
<xp:inputText id="txtQuantity" value="#{document1.Quantity}" defaultValue="1" maxlength="3" size="3"></xp:inputText>
<xe:tabBar barType="segmentedControl" id="tabBar1">
    <xe:tabBarButton id="tabBarButton1" label="Submit">
        <xp:eventHandler event="onClick" submit="true" refreshMode="complete">
            <xe:this.action>
                <xp:saveDocument var="document1"></xp:saveDocument>
            </xe:this.action>
        </xp:eventHandler>
    </xe:tabBarButton>
    <xe:tabBarButton id="tabBarButtonEdit" label="Edit" rendered="#{javascript:!document1.isEditable()}">
        <xp:eventHandler event="onClick" submit="true" refreshMode="complete">
            <xp:this.action>
                <xp:changeDocumentMode mode="edit" var="document1">
                </xp:changeDocumentMode>
            </xp:this.action>
        </xp:eventHandler>
    </xe:tabBarButton>
</xe:tabBar>

好的,我现在已经放弃了单页应用程序,因为我发现它在创建任何新文档时都不能正常刷新。据我所知,这似乎是坏的


我现在尝试使用多个页面,但是当我为moveTo目标使用新的xpage时,我得到了一个错误“未找到目标视图:null。这应该有效吗?

您不能在移动应用程序中使用单独的xpages,因为当您从一个移动页面移动到另一个移动页面时,此导航需要在单个应用程序页面控件中进行。指定返回的页面应为单个应用程序页面控件内的移动页面

我也面临同样的问题,页面在启动时没有得到刷新。
我必须手动参考浏览器,然后它才能工作并显示正确的数据

IBM通过支持票证为我回答了这个问题。解决方案是在moveTo上使用transitionType=“slide”


这是默认值,应该是一个可选参数,但是如果忽略它,刷新会在屏幕上留下垃圾。

您的
moveTo
操作的语法看起来是正确的,但是在周围组件的上下文之外,不可能确定。在不违反任何披露协议的情况下发布尽可能多的源代码。