Flex 4选项卡顺序不起作用

时间:2012-12-28 14:26:57

标签: flex flex4 tab-ordering

当有几个像radiobuttons这样的元素时 - 选中时 - 有其他字段,标签排序不正常。事实上(在我的项目中)标签在单选按钮和一个日期字段之间被“捕获”。

three radiobuttons with additional input elements

这是一个不能正常工作的最小例子。如果您运行该示例并按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>

1 个答案:

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