某个页面,里面有 N 个 checkbox,这些 checkbox 分别控制页面内的不同元素的显隐。
比如,
checkbox 1 控制 input 1 和 input 2 的显隐;
checkbox 2 控制 input 3 和 input 4 和 input 5 和 button 1 的显隐;
checkbox 3 控制 input 6 的显隐;
checkbox 4 控制 input 7 和 input 8 的显隐;
一般的原型工具,都是通过页面的不同状态,然后在点击某个 checkbox 时,切换到对应的状态,以此来实现页面内不同显示状态的切换。但对于这个需求,这种状态切换的方法就不太好实现了——因为组合的状态太多了,例如对上面这个例子,4 个 checkbox 各自选中与不选中,组合形成的状态有 2^4=16 种,这意味着要画 16 个页面状态,相互间跳转。
感觉这种需求应该不算很特别吧,那么各个原型工具是怎样处理这种情况的呢?
我了解到 Framer X 里面,并没有简单易用的方式来处理。要实现的话,需要用到里面的 Overrides 概念,可能还要写些代码,不是很易用。
之前了解的 Axure 和墨刀,似乎也是我说的通过状态跳转来实现的。
引申:帖子 (
/t/773541 ) 里面提到的对原型工具的抽象,还是很有必要的。作出的抽象不同,原型工具的能力就不同。对于这个例子来说,checkbox 的触发,修改的是特定 input 和 button 的属性值,切换的是这些元素的状态,但不影响其他的元素状态。抽象一下就是,动作触发可以只影响页面局部元素的状态,而不是整个页面的状态。所以如果原型工具里面只提供整体状态切换的话,就会遇到问题。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/774726
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.