Actionscript 3 Flex4中的组合框功能

Actionscript 3 Flex4中的组合框功能,actionscript-3,combobox,flex4,Actionscript 3,Combobox,Flex4,我正在开发Flex4,我遇到了一个关于Flex4ComboBox的奇怪问题。与下拉列表不同,组合框允许用户键入值,然后组合框将显示建议值的列表。我的问题是:组合框似乎允许用户输入和保存无意义的值。例如,在下图中,允许值列表是从1982年到2040年的年份集合 但是,用户可以在组合框中键入“test”,然后单击save。最终结果是季度末/年终对为3-test。显然,这是一个荒谬的值 为什么会这样?有没有办法防止这种情况?我知道可以简单地切换到下拉列表,但我更喜欢保留组合框,因为它具有“建议值”功

我正在开发Flex4,我遇到了一个关于Flex4ComboBox的奇怪问题。与下拉列表不同,组合框允许用户键入值,然后组合框将显示建议值的列表。我的问题是:组合框似乎允许用户输入和保存无意义的值。例如,在下图中,允许值列表是从1982年到2040年的年份集合

但是,用户可以在组合框中键入“test”,然后单击save。最终结果是季度末/年终对为3-test。显然,这是一个荒谬的值

为什么会这样?有没有办法防止这种情况?我知道可以简单地切换到下拉列表,但我更喜欢保留组合框,因为它具有“建议值”功能

接下来的问题是:无论有什么解决方案,是否有可能“在全球范围内”实施?也就是说,我们可以在代码中的某一点进行修复,并在整个项目中生效吗


谢谢。

这是此类控件的标准行为。
组合框不知道是什么使输入有效或无效。它设计用于接受任何输入,我们的责任是验证输入是否适合我们的应用程序

您可以做几件事,将这些结合起来会有所帮助:

  • 将组合框的属性设置为只包含允许输入的有效字符的字符串,如字符串“0123456789”

  • 使用该属性将输入限制为4个字符

  • 玩弄这片土地。您可以将其设置为一个函数,该函数将根据用户的输入决定要选择的值

  • 使用或验证用户是否输入了适当的值(或者只需自己将此逻辑添加到保存按钮的单击处理程序中)

  • (可能不太有用)玩弄房产。您可以使用此选项自动选择第一个/最后一个(或任何)值作为默认值,而不是使用无意义的输入


谢谢。你的回答很有帮助。