У меня есть настраиваемый компонент, состоящий из выбираемого элемента управления (радиокнопки) и ввода текста. Я хочу выполнить некоторую логику в ответ на события изменения от обоих этих элементов управления, но после этого я хочу, чтобы все, что зарегистрировано в обработчике изменений составного компонента, также имело изменение для обработки событий. Проблема в том, что когда я повторно отправляю события, цель события изменилась на мой пользовательский компонент, теряя цель исходного события.
Вот мой нестандартный компонент:
<?xml version="1.0" encoding="utf-8"?>
<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml" label="{listItem.@text}" data="{[email protected]()}">
<mx:Script>
<![CDATA[
import mx.controls.RadioButtonGroup;
[Bindable]
public var selected: Boolean;
[Bindable]
public var text: String;
[Bindable]
public var listItem: XML;
[Bindable]
public var group: RadioButtonGroup;
private function onSelectionChange(event: Event): void {
selected = event.target.selected;
dispatchEvent(event);
}
private function onTextChange(event: Event): void {
text = event.target.text;
dispatchEvent(event);
}
]]>
</mx:Script>
<mx:RadioButton group="{group}" label="{label}" selected="{selected}" change="onSelectionChange(event)"/>
<mx:TextInput width="100%"
maxChars="{listItem.specify.@entryLength}"
enabled="{selected}"
visible="{listItem.hasOwnProperty('specify')}"
includeInLayout="{visible}"
change="onTextChange(event)"/>
</mx:HBox>
В обработчике событий, который получает события изменения от этого компонента, я вижу, что event.target является экземпляром SpecifyRadioButton, а не TextInput или RadioButton, как я ожидал. Как мне распространить событие, чтобы получить здесь то, что я хочу?
Getting event [Event type="change" bubbles=false cancelable=false eventPhase=2]
from question0.tabSurvey.questionForm.questionContainer.Single94.VBox95.SpecifyRadioButton111