Axure 8.0实例:复选框的应用

14 评论 45037 浏览 64 收藏 6 分钟

很多业务系统之中都会有以列表的形式展现数据的情况,那么问题来了,对列表选择时会出现多选、全选、反选的问题,今天就来叨一叨如何使用axure原型工具实现复选框的多选、全选和反选。照例,先上预览。

预览

一、元件准备

  1. 全选复选框一个。用来控制全选或全不选的,命名“全选”;
  2. 文本标签一个。用来控制反选,命名“反选”;
  3. 中继器一个。用来存放内容的,命名“中继器”。里面放置一个复选框,一个文本标签。复选框命名“内容复选框”,文本标签命名“内容文本”;
  4. 添加“全局变量”一个。用来存放选中的“内容复选框”的个数。命名为“test”;

二、添加用例

1、“全选”复选框添加用例。先来分析一下:①点击“全选”选中时,“内容复选框”必须全部选中;②点击“全选”取消选中时,“内容复选框”必须全部取消;

①点击“全选”复选框,选中时,设置“内容复选框”为选中状态;

②点击“全选”复选框,取消选中时,设置“内容复选框”为未选中状态。这里可能会有朋友有疑问,为什么不在“取消选中时”中添加用例,非得在“鼠标单击时”用添加,而且还要去判断“全选”复选框的状态是否为未选中,这里说明一下:如果这里把设置“内容复选框”为未选中放到“取消选中时”里,那么后面完成的复选功能会有一点问题,就是当你取消一行的选中状态时,所有的行都会全部取消,想要更直观的话,你可以自己试一试;

2、“反选”文本标签添加用例。反选的效果就是,选中的变为未选中,未选中的变为选中,这里很简单,直接设置“内容复选框”的状态为“切换选中状态”即可;

3、“内容复选框”添加用例。分析一下:①如果“内容复选框”有一个没有选中,那么“全选”复选框就必须为未选中;②如果“内容复选框”全部选中,那么“全选”复选框就必须为选中状态;

①在“内容复选框”状态为未选中时,首先设置“全选”复选框为未选中,然后将“test”全局变量的值减去1;

“内容复选框”选中时,“test”全局变量加1;

②在“内容复选框”全部选中时,“全部”复选框就要为选中状态。那么如果判定“内容复选框”全部选中了呢?这里就用到了“test”全局变量了,或许有朋友看到这里才明白为啥要设置一个“test”全局变量了。通过“中继器”的行数与“test”做比较,如果两者相等,那么不就是所有的行已经选中了,直接设置“全选”为选中状态就完事了;

4、“中继器”添加用例。给中继器添加“每项加载时”用例,将中继器的内容通过“文本内容”文本标签显示出来;

三、预览

闲话少说,F5吧^_^  ^_^  ^_^

 

本文由 @无泪 原创发布于人人都是产品经理。未经许可,禁止转载。

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 一样的设置,点全选按钮的时候全局变量加的值是直接一个一个内容复选框点的两倍,这是怎么回事?

    来自浙江 回复
  2. RP8打开可以,RP9打开“将下面的选项全部选中后,全局的全选自动选中”会失效

    来自福建 回复
  3. 楼主知道中继器怎么批量复制行么

    来自浙江 回复
  4. 根本就不用这么麻烦的好吗,直接用if判断,如果点击选中一级菜单的复选框,那么所有子菜单的复选框全部设为true,再设置一下,取消选中时全部设为false,我看到你这个分享,我都要笑死了

    来自上海 回复
    1. 如果觉得没有帮助请忽略,也烦请您试一下您的方法能完全做好全选的功能再来指教,依照您的方法,不才有几个问题想要请教:
      1、将下面的选项全部选中后,全局的全选如何自动选中;
      2、取消选中中的任意一项后,全局的全选如何自动取消;

      来自浙江 回复
  5. 大佬,我是新手,请教一下,这个可以设置选中四个复选框的时候就全选的复选框也打勾吗?能设定复选框的选中个数吗?方便的话能不能发个原型看看???

    来自浙江 回复
  6. 不错哦。今天看了遍,明天照着操作,不懂就问你哈!!

    来自湖北 回复
  7. 谢谢分享!
    参照做了一下,有个问题,希望请教一下:
    预览里,没有体现【如果“内容复选框”全部选中,那么“全选”复选框就必须为选中状态】的效果;参照练习时,没有实现这个效果。能不能提供原型文件,学习一下?谢谢!

    来自广东 回复
    1. 我也遇到了,怎么回事呢?

      来自新疆 回复
    2. 不是选值等于[[n]],要选变量值

      来自浙江 回复
    3. 我也是这个问题。

      来自湖北 回复
  8. 你好,我想问一下,全选复选框鼠标单机取消的时候,设置条件if this==flase时,里面的this是什么呀。为什么我把条件设置成if 复选框状态=flase,条件是无效的。谢谢指教,大神😁

    回复
    1. this指的是当前元件,就是指当前鼠标单击动作下的全选复选框。“if 复选框状态==flase”这个问句中没有指明是哪个复选框,“if全选==flase”是可以的,因为this指的就是全选复选框,二者意思相同。如果设置“if内容复选框==flase”而后得到内容复选框=flase,这显然不对,就好比“如果A恒等于B,则A=B”,这就是无效的因果关系,将原因直接等于结果,逻辑上很荒谬。

      来自新疆 回复
  9. 其实作者可以出一系列的,挺好的,对新人帮助很大,可以照着学习。 💡

    来自广东 回复