Flex - как отключить / включить группу компонентов (или изменить свойство)
Как включить или отключить группу компонентов в Flex (Flash Builder 4)?
Например, если у меня есть окно с несколькими полями, я хочу отключить их, основываясь на разрешениях пользователей.
Я знаю, что могу добавить enabled="true" или "enabled="false", и я также могу использовать enabled="{writeAccessVar}"
Однако я ищу больше идей, поскольку у меня может быть несколько групп полей на экране или более сложные пользовательские разрешения.
Например, в настоящее время у меня будет одно поле с доступом для записи, остальные поля на экране доступны только для чтения на определенном уровне пользователя.
Для пользователей более высокого уровня все поля доступны для записи. Нижний уровень, все только для чтения.
Спасибо!
1 ответ
Вы можете добавить переменную 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}"