代码之家  ›  专栏  ›  技术社区  ›  DyreSchlock

Flex 3:当只有一个菜单项可用时,如何将弹出按钮更改为常规按钮?

  •  0
  • DyreSchlock  · 技术社区  · 16 年前

    如果我的弹出式菜单只有一个选项,我希望从显示中删除菜单,并基本上将弹出式按钮还原为一个常规按钮。到目前为止,我还没有在ActionScript中找到一个好的方法来做到这一点,而不添加、删除或修改按钮的样式。

    有没有一个简单的方法告诉按钮隐藏弹出开关?

    :在我的特定示例中,是的,如果我只使用一个切换按钮可能会更容易。但是,我希望在处理对象数组时重用此按钮。如果我有不止一个,这个属性可能同时是对的和错的。在这种情况下,我想显示菜单,以便他们可以选择将对象的所有属性设置为哪个选项。

    1 回复  |  直到 16 年前
        1
  •  1
  •   RobDixon    16 年前

    你可以试着用一个州来做这个。它将删除多选项弹出按钮并在其位置显示新的单个选项按钮:

    <mx:states>
      <mx:State name="singleOptionState">
        <mx:AddChild relativeTo="{multiOptionPopUpButton}" position="after">
          <mx:Button id="singleOptionButton" 
            width="80" 
            label="{buttonLabel}" 
            click="onClick(event)" />
        </mx:AddChild>
        <mx:RemoveChild target="{multiOptionPopUpButton}" />
      </mx:State>
    </mx:states>
    

    当然,名称和属性将特定于您的应用程序。

    当你确定是时候显示单个选项按钮时

    currentState = "singleOptionState";
    

    当需要显示多选项弹出按钮时,请执行以下操作:

    currentState = "";
    

    推荐文章