Передача данных между модулем и средством визуализации пользовательских элементов

я столкнулся с этой проблемой: у меня есть модуль, содержащий что-то вроде этого:

<s:TextInput id="query" 
                       width="100%" 
                       minHeight="50"
                       change="doQuery"/>
          <s:List id = "items"
                  width="100%" 
                  height="100%"
                  minHeight="200" 
                  maxHeight="200"
                  itemRenderer = "renderer.myCustomRenderer"
                  dataProvider = "{itemList}"/>

мой пользовательский рендерер элементов должен знать, что я пишу в «запрос» TextInput. Есть ли способ передать строку query.text моему рендереру? Большое спасибо


person ivy    schedule 21.02.2011    source источник


Ответы (1)


Вам необходимо назначить свойство itemRenderer во время выполнения, когда запрос TextInput изменяется:

var myRenderer:myCustomRenderer = new ClassFactory(myCustomRenderer);
sparkRenderer.properties = { query: query.text };
items.itemRenderer = sparkRenderer
person Florian F    schedule 22.02.2011
comment
Большое спасибо! Тем временем я решил добавить функцию в интерфейс модуля: getQueryString(), которая получает меня query.text и вызывает его из itemRenderer следующим образом: var string:String=((this.parentApplication as moduleLoaderTester).getQueryString() ). Но твой способ действительно элегантнее!! - person ivy; 23.02.2011