带复选框的Flex4.5手风琴

时间:2011-08-04 02:33:38

标签: flex checkbox accordion

我在Flex 4中有以下代码,其中包含几个复选框,因为复选框很多,我在列表中进行了滚动。但是当我尝试运行此代码时,复选框仅显示为标签,旁边没有复选框。我的代码有什么问题。请帮忙谢谢

<mx:Accordion x="14" y="11" width="200" height="260">
    <s:NavigatorContent width="100%" height="100%" label="Page">
        <s:List x="0" y="0" width="100%" height="100%">
            <s:ArrayCollection id="colPage">
                <s:CheckBox label="View" id="chkView">
                </s:CheckBox>
                <s:CheckBox label="SelectTab" id="chkSelectTab">
                </s:CheckBox>
                <s:CheckBox label="setParentData" id="chkSetParentData">
                </s:CheckBox>
                <s:CheckBox label="setViewData" id="chkSetViewData">
                </s:CheckBox>
                <s:CheckBox label="appendString" id="chkAppendString">
                </s:CheckBox>
                <s:CheckBox label="deleteLastOneCharacter" id="chkDelLastChar">
                </s:CheckBox>
                <s:CheckBox label="clearString" id="chkClrStr">
                </s:CheckBox>
                <s:CheckBox label="calculate" id="chkCalc">
                </s:CheckBox>
                <s:CheckBox label="resetViewData" id="chkResetVwData">
                </s:CheckBox>
                <s:CheckBox label="popViewController" id="chkPopVwCont">
                </s:CheckBox>
                <s:CheckBox label="popToRootViewController" id="chkPopRootVwCont">
                </s:CheckBox>
                <s:CheckBox label="finishModalView" id="chkFinishModView">
                </s:CheckBox>
.... and many other checkboxes
            </s:ArrayCollection>
        </s:List>
    </s:NavigatorContent>
....and manu other Navigator Content
</mx:Accordion>

1 个答案:

答案 0 :(得分:1)

Ouf,你的方法存在很多问题。您需要删除所有复选框。相反,使用自定义项呈示器,在其中包含复选框(它已绑定到标签的数据并且它是当前选定的状态)并在列表中设置呈现器。

然后,您只需要为列表设置dataProvider,该列表可以是{label:'Some Label', selected:false}的简单对象,对于复选框的每个“实例”都会重复该对象。通过使用此方法,您将回收项呈示器,从而提高代码重用率和性能。