重现步骤:
>使用popupmanager创建弹出模式弹出窗口(我的内部是一个带有skinnable容器的组)
>在模态弹出窗口中放置字段组件(textinputs)
>尝试在控件之间切换
Tab切换到模态弹出窗口后面的控件,并忽略模态存在的事实.选项卡循环仅包含模态后面的控件.
我已经尝试了从设置tabChildren到hasFocusableChildren的所有内容.我无法实现IFocusManager,因为它的Halo和我的模态是一个Spark组,但是它会以某种身份工作吗?看起来Flex似乎忽略了其焦点管理器中的模态.
解决方法
这不是一个错误,我假设它是设计的.
Group应该是一个轻量级容器 – 只是用于将事物分组在一起. Group未实现IFocusManagerContainer接口.
SkinnableContainer(或更正确的SkinnableContainerBase)实现了该接口,这就是使用PopupManager时使用Tab键的原因.