концептуальная модель Lists / ItemRenderers заключается в том, что они представляют собой элементы в dataProvider. Одной из причин для этого является то, что списки перерабатывают свои ItemRenderers, чтобы уменьшить объем памяти. Это означает, что у вас может быть 100 элементов в вашем dataProvider, но только у небольшого подмножества этих элементов будут связаны ItemRenderers, а некоторые из них могут даже не отображаться на экране или даже быть недействительными. Есть несколько способов, с помощью которых ваши ItemRenderers в вашем Списке могут отражать состояние родительского элемента List без необходимости напрямую манипулировать средствами визуализации. Например, вы можете сделать что-то вроде этого:
<s:List id="layersList"
borderVisible="false"
allowMultipleSelection="true"
dataProvider="{AssetsCollection}"
contentBackgroundAlpha="0">
<s:layout>
<s:VerticalLayout gap="1" />
</s:layout>
<s:itemRenderer>
<fx:Component>
<myrenderers:TestRenderer myState="{outerDocument.someState}"/>
</fx:Component>
</s:itemRenderer>
</s:List>
Где TestRenderer имеет связываемое открытое свойство myState. И родительский объект List имеет привязываемое свойство, называемое someState. Затем внутри вашего рендерера вы можете установить условную логику, основанную на значении myState. Надеюсь, это поможет.