Я на самом деле не понимаю, чего вы пытаетесь достичь.Свойство data определено в интерфейсе IDataRenderer .
Когда компонент используется в качестве средства визуализации, элемент данных, который представляет экземпляр компонента, передается врендер, используя свойство data.
Вы не подсчитали, что означает «работает или« не работает », поэтому я не уверен, каково ваше желаемое поведение, и почему кто-то не прав, а кто-то нет». В первом примереЯ не ожидал бы, что свойство данных будет иметь какое-либо значение:
<s:List id="myList"
creationComplete="criaLista(event)"
dataProvider="{actions}">
</s:List>
<s:Image source="{data.icon}"/>
<s:Label text="{data.title}"/>
<s:Label text="{data.description}"/>
Я не уверен, что содержит dataProvider, но если он содержит объекты, я бы ожидал, что что-то будет отображаться в списке.ожидайте, что изображение и метки не будут отображать визуальные элементы, потому что свойство data, скорее всего, имеет значение null. Если вы хотите сослаться на элемент, выбранный в списке, вместо доступа к данным, вы можете получить что-то вроде этого:
<s:Image source="{myList.selectedItem.icon}"/>
<s:Label text="{myList.selectedItem.title}"/>
<s:Label text="{myList.selectedItem.description}"/>
Он использует свойство selectedItem из экземпляра списка для изменения элементов отображения.
Во втором примере, где вы создаете itemRenderer, я ожидаю, что он будет работать:
<s:List id="myList"
creationComplete="criaLista(event)"
dataProvider="{actions}">
<s:itemRenderer>
<fx:Component>
<s:ItemRenderer>
<s:Image source="{data.icon}"/>
<s:Label text="{data.title}"/>
<s:Label text="{data.description}"/>
</s:ItemRenderer>
</fx:Component>
</s:itemRenderer>
</s:List>
Однако itemRenderer ничего не делает для позиционирования изображения или двух меток, поэтому я ожидаю, что они будут наложены друг на друга, что, вероятно, нежелательное поведение.Вы можете установить значения X и Y, чтобы определить их размер.
Если вы хотите уточнить конкретные проблемы;почему ваш первый образец «работает», а второй нет, пожалуйста, сделайте.