在 Flex 4 中,我有一个带有项目渲染器的 Spark List 组件。我想通过单击来选择列表中的一个项目,并通过单击相同的选定项目来取消选择它。就像一个开/关开关。
我的项目渲染器具有以下状态:
<s:states>
<s:State name="normal"/>
<s:State name="hovered"/>
<s:State name="selected"/>
</s:states>
所以我尝试向项目渲染器添加一个单击事件侦听器:
private function selectUnSelect():void {
if (currentState == 'selected') currentState = 'normal';
else currentState = 'selected';
}
有一个尴尬的行为......即使在选定状态下再次单击该项目后,该项目仍保持选中状态。
考虑使用没有 Command(在 Mac 上)或 Windows 上的 Control 按钮的 List 组件。