0

我有一个用于 List 组件的 CustomItemRenderer,并在此 CustomItemRenderer 的 onDataChange() 事件上设置了列表标签。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 的原因可能是什么?

注意:已调试并确保它不会触发。

4

2 回答 2

0

我还不能手动触发 FlexEvent.DATA_CHANGE 事件,但是当我这样做时

_myListDataProvider.Refresh(),

FlexEvent.DATA_CHANGE 已经被触发:)

于 2013-07-12T11:57:31.040 回答
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));

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

于 2013-07-06T07:00:17.740 回答