快生活 - 生活常识大全

教程中继器如何切换标记状态


  中继器如何切换标记状态呢?一定有很多PM和我一样为此苦恼,一起来看看作者的解答。
  写在前面
  在之前的文章《Axure教程:如何使用Axure中继器元件?》中,@wu赖、在评论里指出:
  有瑕疵,选中一次后背景颜色改变再点击一次背景颜色变成原始状态,但这行其实状态还是标记状态,会一起被删除。
  问题产生的原因是什么呢?答案是当我们点击中继器某一行的时候,该行的选中状态会"toggle"而标记状态不会"toggle"也不会变为"false",也就是说,中继器只是切换了选中状态而没有切换标记状态。
  因此当点击某一行两次时,该行选中状态为"false"→"true"→"false",而标记状态为"false"→"true"→"true"。于是我们看到的视觉效果就是白→蓝→白,而该行却依然处于标记状态,删除处于标记状态的行时该行依然会被删除。
  这个问题看似简单,其实不然。在网上也无法搜到正确的解决方案。有的只是如何"标记行"和"取消标记",并没有"切换标记状态"的方法。
  那么,中继器到底该如何切换标记状态呢?
  上下求索
  想法一
  一下子想到的便是,既然点击时行的选中状态可以"toggle",那标记状态也跟着"toggle"不就好了?不幸的是,Axure并不支持对行标记状态的"toggle"。So bad.
  点击中继器模式编辑操作区中的组合,在右侧"检视:组合——交互"中双击"Case 1"打开用例编辑&lt;鼠标单击时&gt;面板,如下图所示,可以看到没有"切换标记状态"动作,只有"标记行"和"取消标记"动作。<!--鼠标单击时-->
  想法二
  问题总会有办法解决的!既然选中状态可以"toggle",标记状态不可以"toggle",那我们可不可以删除处于选中状态的行呢?答案是Axure也不支持删除处于选中状态的行,只支持删除处于标记状态的行。真令人难过。
  切换到主界面,点击选择用于删除的按钮,在右侧"检视:矩形——交互"中双击"Case 1"打开用例编辑&lt;鼠标单击时&gt;面板,如下图所示,可以看到没有"已选中"选项。<!--鼠标单击时-->
  想法三
  咦,除了已标记,这不还有个条件嘛!说不定那里有我们想要找的答案!点进去一看,还是可用的条件,绝望…
  选择"条件"选项,点击右下角"fx",试图设置删除行的条件为[["isPitchOn"==true]],然而如下图所示,并没有这样的变量或函数。
  条件判断
  山穷水尽疑无路,柳暗花明又一村。
  点击中继器模式编辑操作区中的组合,在右侧"检视:组合——交互"中双击"Case 1"打开用例编辑&lt;鼠标单击时&gt;面板,我们看到有个"添加条件"的按钮。<!--鼠标单击时-->
  点开看看?可以看到,我们可以根据行的选中状态来决定对应用例(也就是这里的Case1:切换选中状态和标记行)的执行与否。
  于是脑海里产生了这样的想法:
  if (选中状态 == false) {选中状态 == true;标记状态 == true;}
  if (选中状态 == true) {选中状态 == false;标记状态 == false;}
  嗯!一定就是这样了!试试看!
  解决方案
  点击中继器模式编辑操作区中的组合,在右侧"检视:组合——交互"中双击"Case 1"打开用例编辑&lt;鼠标单击时&gt;面板,点击"添加条件"按钮,打开&lt;条件设立&gt;面板,将判断变量设为"选中状态",判断值设为"false",如图所示。<!--条件设立--><!--鼠标单击时-->
  按"确定"按钮保存,关闭条件设立面板,关闭用例编辑&lt;鼠标单击时&gt;面板,回到中继器模式编辑操作区。在右侧"检视:组合——交互"中右键单击"鼠标单击时",选择"添加用例"。<!--鼠标单击时-->
  会自动弹出用例编辑&lt;鼠标单击时&gt;面板,点击正上方"添加条件"按钮,设置判断变量为"选中状态",判断值为"true"。<!--鼠标单击时-->
  按"确定"按钮关闭条件设立面板,回到用例编辑&lt;鼠标单击时&gt;面板,在左侧"添加动作"栏点击"元件——取消选中"添加取消选中动作。<!--鼠标单击时-->
  再在左侧"添加动作"栏点击"中继器——数据集——取消标记"添加取消标记动作。
  点击"确定"按钮关闭用例编辑&lt;鼠标单击时&gt;面板,回到中继器模式编辑操作区,可以在右侧"检视:组合——交互"中看到此时鼠标单击时会执行的动作。<!--鼠标单击时-->
  大功告成!
  点击上方"预览"按钮查看最新效果。
网站目录投稿:若薇