这个问题可以有多种解法:
方法一:就是zi li同学的这种解法,关键点在于:
A、事先设置一个Penal,设置两个state(内容一样,第一、二层中的帐号、密码Text Field都为空,默认显示第一层);
B、为"取消"按钮设置一个Set Panel事件,当点击"取消"按钮时,切换到该Panel的第二层。
这样,当用户在第一层的Text Field中输入了数据,点击"取消"后,切换到第二层,自然会显示没有输入数据的状态,从而用障眼法的方式"模拟"达到ArdenWang同学的要求,为什么说"模拟",因为这个方法还有个缺点,就是当用户继续在显示的第二层继续输入数据,此时再点击"取消"按钮,依然显示的是第二层的内容,Text Field中的数据还存在,如此就达不到预期的效果了。
所以,最好的解法是方法二:为Text Field设置label,然后点击按钮时,清空该label对应Text Field中的内容;当然这个方法要比方法一操作起来麻烦那么一点点。
具体步骤如下:
A、拖出两个Text Field,并设置label,例如帐号为ID,密码为Passwd;
B、再拖出个Button,添加OnClick事件;
C、勾选窗口中 Step2里面的"Set Variable and Widget value equal to Value";
D、点击Step3中的蓝色链接,在弹出的窗口,第一个下拉框选"text on widget",第二个下拉框选"ID",第三个保持为"value",第四个保持为空;继续点击最后的加号按钮,并在新添加的第二个下拉框选"Passwd",其他和上面一样;
E、Done,输出测试
简言之,只要求低保真度,原型设计速度要求更高、或对开发不熟,更熟悉PS层级概念的情况下,用方法一模拟就行了;反过来,更熟悉开发方式,对PS层级概念不熟、或要求更真实的操作效果,那用方法二是最好的选择;