Note that there are some explanatory texts on larger screens.

plurals
  1. POHow to trigger itemRendererFunction to be called again when data change in Flex
    primarykey
    data
    text
    <p>I have a list that uses a itemRendererFunction to get custom item renderers. Is there a way to only reevaluate one item in the list and get different item renderer? </p> <p>imagine code like this :</p> <p>there are two item renderers ItemRendererOne.mxml and ItemRendererTwo.mxml</p> <p>Data.as</p> <pre><code>package { public class Data { private var _data : Boolean = false; [Bindable] public function get data():Boolean { return _data; } public function set data(value:Boolean) : void { _data = value; } public function Data(value : Boolean) { _data = value; } } } </code></pre> <p>and main app is </p> <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" &gt; &lt;fx:Script&gt; &lt;![CDATA[ import mx.collections.ArrayList; private var dataProvider : ArrayList = new ArrayList([new Data(true), new Data(false)]); public function getItemRenderer(data : Object) : IFactory { if (data.data) { return new ClassFactory(ItemRendererOne); } else { return new ClassFactory(ItemRendererTwo); } } protected function button1_clickHandler(event : MouseEvent) : void { var data : Data = dataProvider.getItemAt(0) as Data; data.data = !data.data; } ]]&gt; &lt;/fx:Script&gt; &lt;s:VGroup&gt; &lt;s:List dataProvider="{dataProvider}" itemRendererFunction="{getItemRenderer}" /&gt; &lt;s:Button click="button1_clickHandler(event)" /&gt; &lt;/s:VGroup&gt; &lt;/s:WindowedApplication&gt; </code></pre> <p>Basically when someone clicks on the button, I want getItemRenderer to be called again and the item in the list is updated with new item renderer. </p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload