当有几个像radiobuttons这样的元素时 - 选中时 - 有其他字段,标签排序不正常。事实上(在我的项目中)标签在单选按钮和一个日期字段之间被“捕获”。
这是一个不能正常工作的最小例子。如果您运行该示例并按Tab键以遍历所有字段,则tab会在第一个radiobutton(= ok)停止,然后在datefield上停止(= ok,因为所有radiobutton应被视为一个tabstop)。但是如果再次按Tab键,它会跳转到第三个radiobutton(= false,因为已经达到第一个radiobutton),最后到达textinput(= ok)。
在我的项目中有更复杂的形式,甚至更奇怪的行为。
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<s:VGroup>
<s:RadioButton label="use no data"/>
<s:HGroup>
<s:RadioButton label="use date"/>
<mx:DateField />
</s:HGroup>
<s:HGroup>
<s:RadioButton label="use text"/>
<s:TextInput />
</s:HGroup>
</s:VGroup>
</s:Application>
答案 0 :(得分:0)
我的解决方案是给tabIndex值,其中radiobutton-tabIndex-values全部都在其余元素的值之前(在这种情况下为datefield + textinput)
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" >
<s:VGroup>
<s:RadioButton label="use no data" tabIndex="1" />
<s:HGroup>
<s:RadioButton label="use date" tabIndex="2" />
<mx:DateField tabIndex="100" />
</s:HGroup>
<s:HGroup>
<s:RadioButton label="use text" tabIndex="3" />
<s:TextInput tabIndex="101" />
</s:HGroup>
</s:VGroup>
</s:Application>