Flex - 如何禁用/启用一组组件(或更改属性)

时间:2012-03-24 13:11:10

标签: flex permissions flash-builder field

如何在flex(flash builder 4)中启用或禁用一组组件?

例如,如果我有一个包含多个字段的窗口,我想根据用户权限禁用它们。

我知道我可以添加enabled =“true”或“enabled =”false“,我也可以使用enabled =”{writeAccessVar}“

但是,我正在寻找更多的想法,因为我可能在屏幕上有多个字段组,或者更复杂的用户权限。

例如,我目前有一个具有写访问权限的字段,屏幕上的其他字段只能读取某个用户级别。

对于更高级别的用户,所有字段都是可写的。较低级别,都是只读的。

谢谢!

1 个答案:

答案 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}"