我正面临着我目前正在开发的flex应用程序的问题。 当我使用'createPopUp'方法打开弹出窗口时,我的索引超出了界限错误消息:
RangeError:提供的索引超出范围。在 mx.core :: FTETextField中/ getLineMetrics()[E:\ dev的\ 4.Y \框架\项目\火花\ SRC \ MX \核心\ FTETextField.as:2169] 在mx.core :: UIFTETextField / get baselinePosition()[E:\ dev的\ 4.Y \框架\项目\火花\ SRC \ MX \核心\ UIFTETextField.as:784] 在mx.controls :: DateChooser / get baselinePosition()[E:\ dev的\ 4.Y \框架\项目\ MX \ SRC \ MX \控制\ DateChooser.as:994] 在spark.components :: Group / get baselinePosition()[E:\ dev的\ 4.Y \框架\项目\火花\ SRC \火花\组件\ Group.as:282] 在 spark.layouts :: ConstraintLayout / parseElementConstraints()[E:\ dev的\ 4.Y \框架\项目\火花\ SRC \火花\布局\ ConstraintLayout.as:1818] 在 spark.layouts :: ConstraintLayout / parseConstraints()[E:\ dev的\ 4.Y \框架\项目\火花\ SRC \火花\布局\ ConstraintLayout.as:1632] 在 spark.layouts :: ConstraintLayout /测量()[E:\ dev的\ 4.Y \框架\项目\火花\ SRC \火花\布局\ ConstraintLayout.as:414] 在 spark.components.supportClasses ::值为TextJustify。GroupBase /测量()[E:\ dev的\ 4.Y \框架\项目\火花\ SRC \火花\部件\ supportClasses \ GroupBase.as:1148] 在 mx.core :: UIComponent / HTTP://www.adobe.com/2006/flex/mx/internal :: measureSizes()[E:\ dev的\ 4.Y \框架\项目\框架\ SRC \ MX \芯\ UIComponent.as:8506] 在 mx.core :: UIComponent /调用validateSize()[E:\ dev的\ 4.Y \框架\项目\框架\ SRC \ MX \核心\ UIComponent.as:8430] 在 spark.components ::组/调用validateSize()[E:\ dev的\ 4.Y \框架\项目\火花\ SRC \火花\部件\ Group.as:1012] 在 mx.managers ::的LayoutManager / validateClient()[E:\ dev的\ 4.Y \框架\项目\框架\ SRC \ MX \管理者\ LayoutManager.as:987] 在 mx.managers :: PopUpManagerImpl / addPopUp()[E:\ dev的\ 4.Y \框架\项目\框架\ SRC \ MX \管理者\ PopUpManagerImpl.as:382] 在 mx.managers :: PopUpManagerImpl / createPopUp()[E:\ dev的\ 4.Y \框架\项目\框架\ SRC \ MX \管理者\ PopUpManagerImpl.as:232] 在 mx.managers :: PopUpManager $ / createPopUp()[E:\ dev \ 4.y \ frameworks \ projects \ framework \ src \ mx \ managers \ PopUpManager.as:139] at 视图:: AddProjects / loadAddProjectPopUp()[C:\用户\劳拉\网络\ spidermak \ spidermak \ SRC \视图\ AddProjects.mxml:184] 在 视图:: AddProjects / ___ AddProjects_Button1_click()[C:\用户\劳拉\网络\ spidermak \ spidermak \ SRC \视图\ AddProjects.mxml:838]
似乎这个错误是由我的弹出窗口中的“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>
如果我删除了两个FormItems,它就可以了。谁能解释我为什么?谢谢!
答案 0 :(得分:1)
尝试将组件包装在<s:Group>
元素中,即
<s:FormItem label="Start date">
<s:Group>
<mx:DateChooser id="startDate"
firstDayOfWeek="1" />
</s:Group>
</s:FormItem>
显然,这与Spark组件的组成有关。 lolFlex。
(我有完全相同的问题,也无法在互联网上找到任何解决方案!)
答案 1 :(得分:0)
我认为你应该升级到最新的TLF。这让我想起了TLF 1.x中的一个错误。试试2.x。