如何在flex(flash builder 4)中启用或禁用一组组件?
例如,如果我有一个包含多个字段的窗口,我想根据用户权限禁用它们。
我知道我可以添加enabled =“true”或“enabled =”false“,我也可以使用enabled =”{writeAccessVar}“
但是,我正在寻找更多的想法,因为我可能在屏幕上有多个字段组,或者更复杂的用户权限。
例如,我目前有一个具有写访问权限的字段,屏幕上的其他字段只能读取某个用户级别。
对于更高级别的用户,所有字段都是可写的。较低级别,都是只读的。
谢谢!
答案 0 :(得分:0)
您可以添加一个等于用户访问级别的变量accessLevel
:
[Bindable]
var accessLevel:int = 0; // 0: low level, 1: next level, 2: next level, an so on
然后,您可以根据enabled
设置每个组件的accessLevel
属性:
enabled="{accessLevel >= 0}"
为了提高代码的可读性,可以为不同级别声明常量
public static const ACCESS_LEVEL_LOW:int = 0;
public static const ACCESS_LEVEL_NORMAL:int = 1;
public static const ACCESS_LEVEL_HIGH:int = 2;
// ...
enabled="{accessLevel >= ACCESS_LEVEL_LOW}"
// ...
enabled="{accessLevel >= ACCESS_LEVEL_NORMAL}"
// ...
enabled="{accessLevel >= ACCESS_LEVEL_HIGH}"