Actionscript 3 setStyle 不是一个函数
Posted
技术标签:
【中文标题】Actionscript 3 setStyle 不是一个函数【英文标题】:Actionscript 3 setStyle is not a function 【发布时间】:2017-08-18 19:58:03 【问题描述】:我正在尝试使用 actionscript 设置 Flex 4 GridItem 的样式,我尝试了以下方法:
<mx:VBox
xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:s="library://ns.adobe.com/flex/spark" xmlns:local="*" creationComplete="addStyles()">
<mx:Script>
<![CDATA[
public var selectedLot:String = "";
private function addStyles():void
testBorder.setStyle("borderThickness", "3");
但我收到以下错误:
setStyle is not a function.
我错过了什么吗?
GridItem 在中继器内。
这是我的 GridItem:
<mx:GridItem id="testBorder" horizontalAlign="center" verticalAlign="middle" borderStyle="solid" borderColor="gray">
<mx:Image source="assets/ruler-icon.png" />
<s:Label text="r.currentItem.sqft" fontSize="10" color="#808080" fontFamily="Helvetica" />
</mx:GridItem>
【问题讨论】:
【参考方案1】:使用中继器时,GridItem 的 id 将不同。要访问中继器中的任何项目,您必须指定与重复项目相对应的索引。
示例:数组由 ["Audi", "BMW"] 组成,我们将此数组设置为您的中继器的 dataProvider,然后访问“Audi”的网格项并设置其样式,我们必须使用:
testBorder[0].setStyle("borderThickness", "3");
另外,需要考虑的重要一点,VBox“creationComplete”可以在转发器完全构建之前执行,因此,调用函数“addStyles”的最佳位置是在转发器的“repeatEnd”事件中,即(repeatEnd= "setTransactionPropertyType()")。
希望对你有帮助,
祝你好运。
【讨论】:
以上是关于Actionscript 3 setStyle 不是一个函数的主要内容,如果未能解决你的问题,请参考以下文章
ActionScript 3 ActionScript 3 - 随机播放(随机不重复)