繁体   English   中英

FLEX 4中的ComboBox功能

[英]ComboBox functionality in FLEX 4

我正在研究FLEX 4,但遇到了有关FLEX 4combobox的奇怪问题。 与下拉列表不同,组合框允许用户键入一个值,然后组合框将显示建议值列表。 我的问题是:组合框似乎允许用户输入并保存无意义的值。 例如,在下面的图像中,允许值列表是从1982年到2040年的年份的集合。

在此处输入图片说明

但是,用户可以在组合框中键入“ test”,然后单击“保存”。 最终结果是季度末/年末对进行了3次测试 显然,这是一个荒谬的价值。

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

后续问题:可能有什么修复方法,是否有可能“全局”进行? 意思是,我们可以在代码中的一点上进行修复,并且在整个项目中生效吗?

谢谢。

对于这种类型的控件,这是非常标准的行为。 ComboBox不知道是什么使输入有效或无效。 它旨在接受任何输入,并且我们有责任验证输入是否适合我们的应用程序。

您可以做一些事情,将这些结合起来应该会有所帮助:

  • 设置限制的物业ComboBox仅包含有效的字符,你会允许输入,像串“0123456789”的字符串。

  • 使用maxChars属性可将输入限制为4个字符。

  • 玩转labelToItemFunction属性。 您可以将其设置为一个函数,该函数将根据用户的输入来决定要选择的值。

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

  • (可能不太有用)使用itemMatchingFunction属性。 您可能可以使用它来自动选择第一个/最后一个(或其他)值作为默认值,而不是使用无意义的输入。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM