本文介绍了设置进度条的进度值时出现“setProgress not a function”错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 29岁程序员,3月因学历无情被辞! 我想在一个手风琴上设置一个进度条的值,但是我遇到了setProgress不是一个函数的错误。任何想法下面的代码有什么问题。观察:如果我将进度条移出手风琴,那么错误消失,进度条显示正常。 $ b 我想将进度条最终设置为{repMonitor.currentItem.threatLevel},但现在我只是用假设的威胁值进行测试,例如60 < mx:Accordion id =monAccordianincludeIn =Monitoringx =10y =10width =554height =242change =monAccordianChange ()> < mx:Repeater id =repMonitordataProvider ={monitoringArray}> < mx:Image x =10y =10source ={repMonitor.currentItem.imageName}width =175height =118/> < / mx:Canvas> < / mx:中继器> < / mx:Accordion> 解决方案这是因为ProgressBar在中继器。你不能通过id引用重复的项目,因为你将有一个可变数量的id为bar的ProgressBars。 在Repeater对象中使用事件侦听器时还有一些特殊的注意事项: lockquote Repeater组件中的事件处理程序 当Repeater组件忙于重复时,每个重复的对象创建可以绑定到 Repeater组件的currentItem 属性,这个属性随着 Repeater组件的重复而改变。你不能给每个实例赋予自己的事件处理器通过编写类似于的函数click =doSomething({r.currentItem})因为绑定表达式不是允许在事件处理程序中,而重复组件的所有实例必须共享相同的事件处理程序。 重复的组件和重复的 Repeater组件有一个的getRepeaterItem()方法,该方法返回 dataProvider属性中用于生成对象的项目。 当Repeater组件完成重复时,可以使用 getRepeaterItem()方法确定事件处理程序应该在currentItem属性上基于执行的操作。为此,将 event.currentTarget.getRepeaterItem()方法传递给事件处理程序。 getRepeaterItem()方法带有一个可选索引,它指定当嵌套的Repeater组件是 present时需要的 Repeater组件; 0索引是最外面的 Repeater组件。如果你不指定索引参数,则最内层的Repeater组件是。 您可以在Repeater文档中阅读有关此的更多信息。 I want to set value of a progress bar in an accordian but I am encountering 'setProgress is not a function' error. Any idea what's wrong with following code.Observation:If I move the progress bar out of the Accordian then the error goes away and the progress bar appears fine.I want to set the progress bar eventually to {repMonitor.currentItem.threatLevel} but for now I am just testing with hypothetical threat value i.e 60<mx:Accordion id="monAccordian" includeIn="Monitoring" x="10" y="10" width="554" height="242" change="monAccordianChange()" > <mx:Repeater id="repMonitor" dataProvider="{monitoringArray}"> <mx:Canvas width="100%" height="100%" label="{repMonitor.currentItem.firstName+' '+ repMonitor.currentItem.lastName}" > <mx:Image x="10" y="10" source="{repMonitor.currentItem.imageName}" width="175" height="118"/> <s:Label x="200" y="14" text="Threat Level:"/> <mx:ProgressBar x="200" y="30" mode="manual" label="" id="bar" width="200" creationComplete="bar.setProgress(60,100);" /> </mx:Canvas> </mx:Repeater></mx:Accordion> 解决方案 This stems from the fact that your ProgressBar is in a repeater. You cannot reference the repeated items by id because you would have a variable number of ProgressBars with id "bar".There are also special considerations when using event listeners inside of Repeater objects:You can read more about this in the Repeater docs. 这篇关于设置进度条的进度值时出现“setProgress not a function”错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云! 09-02 13:21