itemrenderer中的FlexEvent.DATA_CHANGE事件不会从类中触发

时间:2013-07-04 11:30:10

标签: actionscript-3 air itemrenderer

我有一个List组件的CustomItemRenderer,我在这个CustomItemRenderer的onDataChange()事件上设置了list label。 onDataChange事件类型为mx.events.FlexEvent.DATA_CHANGE。

在dataprovider上进行了一些属性更改之后,我正在尝试使用

在类中触发新的mx.events.FlexEvent.DATA_CHANGE
_view.EncoderList.dispatchEvent(new mx.events.FlexEvent(mx.events.FlexEvent.DATA_CHANGE));

以下,同样的过程适用于buttonClick fire,

_view.SplitBtn.dispatchEvent(new MouseEvent(MouseEvent.CLICK));

那么,是什么原因导致我无法解雇CustomRenderer的FlexEvent?

注意:已调试并确定其未触发。

2 个答案:

答案 0 :(得分:0)

与大多数事件一样,FlexEvent的构造函数如下所示:

public function FlexEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false):void

这意味着,您必须将代码更改为

_view.EncoderList.dispatchEvent(new mx.events.FlexEvent(mx.events.FlexEvent.DATA_CHANGE, true));

为此事件启用事件冒泡。否则,只有将侦听器绑定到调度项本身

才能侦听事件

答案 1 :(得分:0)

我无法手动触发FlexEvent.DATA_CHANGE事件,但是当我这样做时

_myListDataProvider.Refresh()

FlexEvent.DATA_CHANGE已被触发:)