Movilizer - 复杂 UI 导航中的菜单项无法正常工作?

Posted

技术标签:

【中文标题】Movilizer - 复杂 UI 导航中的菜单项无法正常工作?【英文标题】:Movilizer - Menu Item in a Complex UI Navigation not working properly? 【发布时间】:2015-05-29 06:46:02 【问题描述】:

我正在尝试创建一个复杂的 UI,该 UI 由顶部的菜单项屏幕 (type="6") 和下方的文本输入屏幕 (type="5") 组成。我希望菜单项屏幕转到文本项屏幕之外的另一个屏幕,但我必须将文本项屏幕放在 nextQuestionKey 属性中。

我在菜单项屏幕中尝试了限制,如下面的代码所示,但验证器告诉我“不允许分支。”

我尝试将限制移动到文本输入屏幕。那里的验证器告诉我“复杂屏幕中的菜单屏幕不是在末尾必须提供一个有效的、预定义的attributeType = 72前向导航答案”

<question key="15" type="6" backNavigationAllowed="true" sortAnswersByClientKey="false">
    <answer key="15_1" nextQuestionKey="16" clientKey="CK#15">
        <text>Scan barcode</text>
    </answer>
    <restriction nextQuestionKey="17" position="0">
        <condition>getAnswerValueByClientKey($answer:"15_1", "CK#15") != ""</condition>
    </restriction>
    <complex linearGroupId="InputAssetNumber" gridGroupId="InputAssetNumber" linearInnerScrollbar="false" gridInnerScrollbar="false" gridHorizontalLayout="false" linearPos="0" gridPosX="0" gridPosY="0" gridWidth="1" gridHeight="1" linearHeight="1" groupTitle="Input Asset number"/>
</question>

<question key="16" type="5" backNavigationAllowed="true" sortAnswersByClientKey="false">
    <answer key="16_1" nextQuestionKey="18" clientKey="CK#16" columnSizeType="ROWS">
        <text>Enter barcode manually</text>
    </answer>
    <answer key="16_2" nextQuestionKey="18" clientKey="CK#16" columnSizeType="ROWS">
        <text>Reason</text>
    </answer>
    <complex linearGroupId="InputAssetNumber" gridGroupId="InputAssetNumber" linearInnerScrollbar="false" gridInnerScrollbar="false" gridHorizontalLayout="false" linearPos="1" gridPosX="0" gridPosY="1" gridWidth="1" gridHeight="1" linearHeight="1"/>
</question>

如果有人可以帮助我找到解决此问题的方法,我将不胜感激。

【问题讨论】:

【参考方案1】:

我认为实现这一点的最简单方法是更改​​屏幕顺序,使文本项屏幕指向菜单屏幕。在复杂的 UI 中,如果需要,您仍然可以在顶部显示菜单,因此导航顺序对此没有影响。在菜单屏幕中,您定义一个指向问题键 18 的默认答案......菜单屏幕中的可点击答案指向问题 17。

有关默认答案功能,请参阅: https://devtools.movilizer.com/confluence/display/DOC22/Default+Answer+feature+for+Image+Menu+screens

<question key="15" type="5" backNavigationAllowed="true" sortAnswersByClientKey="false">
  <answer key="15_1" nextQuestionKey="16" clientKey="CK#16" columnSizeType="ROWS">
    <text>Enter barcode manually</text>
  </answer>
  <answer key="15_2" nextQuestionKey="16" clientKey="CK#16" columnSizeType="ROWS">
    <text>Reason</text>
  </answer>
  <complex linearGroupId="InputAssetNumber" gridGroupId="InputAssetNumber" linearInnerScrollbar="false" gridInnerScrollbar="false" gridHorizontalLayout="false" linearPos="1" gridPosX="0" gridPosY="1" gridWidth="1" gridHeight="1" linearHeight="1"/>
</question>

<question key="16" type="6" backNavigationAllowed="true" sortAnswersByClientKey="false">
  <answer key="16_1" nextQuestionKey="17" clientKey="CK#17">
    <text>Scan barcode</text>
  </answer>
  <answer key="16_2" nextQuestionKey="18" clientKey="CK#18" attributeType="72">
    <text>default answer</text>
    <predefinedValue>X</predefinedValue>
  </answer>
  <complex linearGroupId="InputAssetNumber" gridGroupId="InputAssetNumber" linearInnerScrollbar="false" gridInnerScrollbar="false" gridHorizontalLayout="false" linearPos="0" gridPosX="0" gridPosY="0" gridWidth="1" gridHeight="1" linearHeight="1" groupTitle="Input Asset number"/>
</question>

这意味着最初复杂的 UI 将显示一个确定按钮。如果用户按下确定按钮,客户端导航到问题 18。如果用户按下扫描条形码按钮,客户端导航到问题 17。

【讨论】:

以上是关于Movilizer - 复杂 UI 导航中的菜单项无法正常工作?的主要内容,如果未能解决你的问题,请参考以下文章

如何将片段目标绑定到底部导航栏中的菜单项?

React Redux - 使用导航菜单设置存储和更新 UI

Bootstrap 导航栏中的中心菜单项

菜单项未清除 Bootstrap 导航栏中的徽标

Android中的导航抽屉菜单项标题颜色

重新加载页面后如何突出显示导航栏中的活动菜单项