【问题标题】:change a textinput into label in flex将文本输入更改为 flex 中的标签
【发布时间】:2010-03-21 06:52:19
【问题描述】:

我创建了一个表单来订购 flex 中的项目。我使用<mx:TextInput /> 从客户端获取信息,并使用<mx:Button /> 在数据库中提交信息。但是客户的要求是当用户点击按钮然后首先显示一个确认页面,其中包含客户提供的详细信息。但不能在此确认页面中使用其他页面或<mx:TextInput />,它将是<mx:Label />。客户点击按钮后显示确认页面,然后提交信息。

如何将 <mx:TextInput /> 转换为 <mx:Label /> 并在 flex 中包含所有属性?有可能吗?

【问题讨论】:

    标签: apache-flex


    【解决方案1】:

    您不会将 TextInput 转换为标签。您使用单独的 Label 组件并根据表单的状态决定显示哪一个。可能最直接的方法是在视图堆栈中有两个单独的表单。第一个表单包含 TextInputs。另一种形式包含标签。当用户提交第一个表单时,只需更改视图堆栈的 selectedIndex 即可。

    【讨论】:

    • 如果您不想使用视图堆栈,您仍然可以在同一个表单中使用单独的控件,并使用状态或其他变量来控制它们的可见性。您需要同时设置控件的visibleincludeInLayout 属性以使其完全隐藏。
    【解决方案2】:

    ViewStack 是最合适的,所以我同意 lach。您不需要使用 Forms,只需使用带有 Canvas 容器的 ViewStack:

    <mx:ViewStack width='100%' height='100%'>
      <mx:Canvas id='edit'>edit controls here</mx:Canvas>
      <mx:Canvas id='view'>view here</mx:Canvas>
    </mx:ViewStack>
    

    您可以通过更改 ViewStack 的 selectedIndex 来控制应该可见的 Canvas。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-08
      • 2015-10-21
      • 1970-01-01
      • 2023-03-29
      • 1970-01-01
      • 1970-01-01
      • 2021-11-23
      相关资源
      最近更新 更多