【问题标题】:ComboBox functionality in FLEX 4FLEX 4 中的组合框功能
【发布时间】:2012-11-27 03:34:24
【问题描述】:

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

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

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

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

谢谢。

【问题讨论】:

    标签: actionscript-3 combobox flex4


    【解决方案1】:

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

    您可以做一些事情,这些事情的一些组合应该会有所帮助:

    • ComboBoxrestrict 属性设置为仅包含允许输入的有效字符的字符串,例如字符串“0123456789”。

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

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

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

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

    【讨论】:

    • 谢谢。你的回答很有帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-27
    • 2011-08-17
    • 2011-09-06
    • 2013-11-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多