Axure新手养成计划(连载14)

Axure书籍 小楼一夜听春语 18818℃ 0评论

6.3.2.4.      多组条件判断

多组条件判断,是由多个单组条件判断组成。每一个单组条件判断中第一个满足条件的用例都会被执行(Else If true是最后一个满足条件的用例),没有符合条件的则不会被执行。所以多组条件判断的结构中都会有0~N个用例被执行。N小于条件判断结构中组的数量。

类型E:

If<条件>{动作1,动作2,……}

If<条件>{动作1,动作2,……}

这种类型一般是在同一个用例中,有多种不同的条件分别被满足时都需要执行相应的动作。

比如对一个文本框输入的内容进行判断,该文本框只能输入6位以下数字,否则,需要把每种不符合条件的输入给出提示。那么点击“确定“按钮时,我们要分别判断,如果不是数字,给出一条不是数字的提示;如果位数超出6位也要给与位数超出限制的提示。

这个案例的实现步骤如下:

1、双击“确定”按钮的【鼠标单击时】事件,打开用例编辑界面,然后点击【添加条件】,如果条件类型【元件文字】“user_input“的判断内容【不是】【数字】,完成条件设立。(图83)

83

(图83)

2、添加动作【设置文字】“msg_01“为【值】“输入的不是数字!“,完成动作设置后,点击【确定】退出用例编辑界面。

3、在交互面板中点击【添加用例】,继续为“确定“按钮的【鼠标单击时】事件添加用例,在打开的用例编辑界面中,点击【添加条件】进行条件设置,判断内容为元件”user_input“的【元件文字长度】【>】【值】”6“,完成第二个条件设立。(图84)

84

(图84)

      4、添加动作【设置文字】“msg_02“为【值】“输入的文字超过6位!“,完成动作设置后,点击【确定】退出用例编辑界面。

5、此时,我们能够看到,在交互面板中,【鼠标单击时】事件中的两个用例是单组条件判断中类型B的结构。我们只需要在下面的用例名称上点击右键,然后在菜单中点击最后一项【切换为<if>或<Else If>】,就能把这个结构变成我们需要的结构。(图85)

85

(图85)

完成上述步骤,我们进行测试:(图86)

1、当输入“abc123“时,满足第一个用例的条件,会提示”输入的不是数字“;

2、刷新页面,当输入“12345678“时,满足第二个用例的条件,会提示”输入的文字超过6位!“

3、刷新页面,当输入“abcd1234“时,两个用例的条件都被满足,所以会同时显示上述两个提示。

86

(图86)

我们用流程图来表示上面的步骤:(图87)

87

(图87)

类型F:

If<条件>{动作1,动作2,……}

If<条件>{动作1,动作2,……}

If True{动作1,动作2,……}

这是一种比较特殊的多组条件判断,我们能够看到最后一组条件判断只有If True,并没有其他条件,这种情况是指无条件执行该用例中的动作。而且大家要知道,If True只在多组条件判断中能够出现。

我们继续类型E中的例子,比如,我们在显示了提示后,等待3秒钟,让提示消失。

其实我们可以,在每种条件判断的动作中,去分别添加等待3秒钟和让文字为空(即消失)的动作。不过既然有If True,我们就直接用If True的用例来完成这两个动作。这样无论前面有多少条件判断,最后都会无条件执行等待3秒钟后,让提示消失的动作。

我们分别使用两种方法,在用例编辑界面中分别完成以下动作的添加:

1、在动作列表中最下方找到动作类型【其他】,选择其中的【等待】动作,然后在配置动作中把默认的1000毫秒(即1秒钟),改成3000毫秒。

2、在动作列表中点击【设置文本】的动作,在配置动作中勾选两个用来显示提示的元件。这时软件下方可以输入【值】,不过,我们既然是清空提示的动作,在这里不做任何输入。软件执行该动作时就会把两个提示元件的文字清空。

备注:我们在使用If True的方法时,我们需要在类型E的案例基础上继续添加用例,这时系统会自动给出Else If true,还记得怎么转成If吗?是的,只需要在这个新添加的用例上点右键,选择最后一项【切换为<if>或<Else If>】。当切换完成,不添加任何条件就是If True了。

我们来看一下,上述两种方法分别添加动作后用例结构的对比。(图88)

88

(图88)

      从对比图中我们看出,把每个用例中相同的必须执行的部分抽出来,一起使用If True用例来执行,这样能够让我们的用例变得更精简,而最终的执行结果没有改变。

我们用流程图来表示使用If True来实现的步骤:(图89)

89

(图89)


~~~~~~~~~~~~ 正文结束 下面没了 ~~~~~~~~~~~~

小楼老师再出新作,倾力打造Axure RP 8精品课程系列,以最短的时间高效完成学习目标,入门进阶与实战案例并重,是0基础的新手从入门到精通的必备课程。

《AxureRP 8 入门与实战 - 入门篇》------从零入门进阶的最佳课程------【点此查看详情】

《AxureRP 8 入门与实战 - 案例篇》------实战手册图书的同步视频------【点此查看详情】


转载请注明:Axure原创教程网 » Axure新手养成计划(连载14)

喜欢 (44)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(12)个小伙伴在吐槽
  1. 图86那个,输入abcd1234,两个都满足了,但是只显示了一个,请问是什么原因呢?
    vivian907182015-09-14 18:16 回复
    • 小楼一夜听春语
      因为你看的不仔细,这部分不要看太快,理解每一句话。
      小楼一夜听春语2015-09-15 11:49 回复
      • 请问老师 如果只想在一个文本框中达到这样的效果该怎么做?我也是只显示了一个。
        无敌大元帅2015-09-27 22:17 回复
    • 你需要设置两个文本框,一种情况显示一个文本框,这样如果两种情况同时符合,文本框就会同时显示粗来
      axure 菜鸟2015-09-16 15:38 回复
    • 试试在你的文本框里输入7,然后看看显示什么,你就知道问题出在哪里了。
      墨之2015-10-21 18:49 回复
    • 请问下我第一个条件设置的时候为什么没有“值”这个选项,我用axure 7
      董海林2016-06-10 20:21 回复
    • 肯定没看清是“元件文字长度”,你选的时候是“文字长度”
      属兔的老司机2016-07-11 16:30 回复
  2. 讲的好啰嗦哦
    1112015-12-17 17:15 回复
  3. 如果把这个项目放在一页上,名称是区分开的,好像不能显示。
    竹目和一2016-01-28 13:11 回复
  4. 不错 rp功能比较强大
    任性的杂草2016-05-13 10:22 回复
  5. 为什么我第一输入数字的做不出来,求解。网页那边什么输入数字也提示“输入的不是数字”
    董海林2016-06-09 21:37 回复
  6. 图86,三种情况都测试成功,但重新再输入新的内容(第四次输入),下面的文字始终都会全部显示了。请问是什么原因?
    lulu2016-11-08 14:05 回复