0

我目前正在处理的 flex 应用程序遇到问题。当我使用“createPopUp”方法打开一个弹出窗口时,我得到了这个索引超出范围的错误消息:

RangeError:提供的索引超出范围。在 mx.core::FTETextField/getLineMetrics()[E:\dev\4.y\frameworks\projects\spark\src\mx\core\FTETextField.as:2169] 在 mx.core::UIFTETextField/get baselinePosition( )[E:\dev\4.y\frameworks\projects\spark\src\mx\core\UIFTETextField.as:784] 在 mx.controls::DateChooser/get baselinePosition()[E:\dev\4.y \frameworks\projects\mx\src\mx\controls\DateChooser.as:994] 在 spark.components::Group/get baselinePosition()[E:\dev\4.y\frameworks\projects\spark\src\spark \components\Group.as:282] 在 spark.layouts::ConstraintLayout/parseElementConstraints()[E:\dev\4.y\frameworks\projects\spark\src\spark\layouts\ConstraintLayout.as:1818] 在 spark .layouts::ConstraintLayout/parseConstraints()[E:\dev\4.y\frameworks\projects\spark\src\spark\layouts\ConstraintLayout.as:1632] 在 spark.layouts:

似乎此错误是由我的弹出窗口中的“dateChooser”组件引起的:

<mx:DateChooser id="endDate"/>

当我评论这一行时,不再抛出错误并且弹出窗口正确加载。

这真的很奇怪,因为直到今天早上我才遇到这个问题。与此同时,我所做的只是改变了一些与布局相关的东西,但我不明白这与这个问题有什么关系。
我不明白...

有谁知道如何解决这个问题?我需要我的 DateChooser !

谢谢 !

劳拉

  • 编辑 -

看来问题不是由 DateChooser 本身引起的,而是由它周围的 FormItem 引起的。这是我的代码的样子:

<Form width="100%">
[...]
    <s:HGroup width="100%">
        <s:FormItem label="Date de début">
            <mx:DateChooser id="startDate" 
                    firstDayOfWeek="1"/>
        </s:FormItem>

        <s:FormItem label="Date de fin">
            <mx:DateChooser id="endDate"
                    firstDayOfWeek="1"/>
        </s:FormItem>
    </s:HGroup>
</Form>

如果我删除了两个 FormItem,它就可以工作。谁能解释我为什么?谢谢 !

4

2 回答 2

1

尝试将组件包装在一个<s:Group>元素中,即

<s:FormItem label="Start date">
    <s:Group>
        <mx:DateChooser id="startDate"
            firstDayOfWeek="1" />
    </s:Group>
</s:FormItem>

显然,这与 Spark 组件的组成有关。大声笑Flex。

(我遇到了完全相同的问题,在互联网上也找不到任何解决方案!)

于 2012-07-16T11:16:09.347 回答
0

我认为您应该升级到最新的 TLF。这让我想起了 TLF 1.x 中的一个错误。试试 2.x。

于 2012-06-06T10:05:36.263 回答