ÈçºÎ´Ó itemRenderer ÖзÖÅÉʼþ[Flex][·Òë]
ÔÎÄ£ºHow to dispatch an event from a custom item renderer
´Ó MXML ×é¼þÖзÖÅÉʼþ²¢²»À§ÄÑ£¬µ«ÊÇÏëÒª´Ó itemRenderer ÖзÖÅÉʼþ¾ÍûÓÐÄÇôֱ½ÓÁË¡£ÏÂÎÄÖУ¬ÎÒÃǽ«»Ø¹ËÒ»ÏÂÕâÁ½ÖÖÇé¿öµÄ´¦Àí·½Ê½²¢ÕÒ³öÒ»¸öºÏÊʵĽâ¾ö·½°¸¡£
Õý³£Çé¿öÏ£¬µ±ÄãÏë´Ó MXML ×é¼þÖзÖÅÉÒ»¸öʼþʱ»áʹÓÃÈçϵÄÔªÊý¾Ý±êÇ©£º
<!-- дÔÚij¸ö×é¼þÖÐ -->
<mx:metadata>[Event(name="myEvent")]</mx:metadata>
ÔªÊý¾Ý±êÇ©ÈÃÄãÄÜÔÚÁíÒ»¸öÀàÖÐÒÔÈçÏ·½Ê½¼àÌýʼþ£º
<!-- дÔÚµ÷ÓÃÉÏÃæ¶¨ÒåµÄÄǸö×é¼þµÄÀàÖÐ -->
<nw:somecomponent myEvent="onSomeEventHandler(event)"/>
×îºó£¬µ±ÄãÏëÔÚ×é¼þÖзÖÅÉʼþʱ¿ÉÒÔÊÖ¹¤µÄʹÓà dispatchEvent() ·½·¨À´·ÖÅÉ¡£
µ«ÊÇÈç¹ûÄãÊÇÏë´ÓÒ»¸ö×÷Ϊ itemRenderer µÄ×é¼þÖзÖÅÉʼþµÄ»°»áÈçºÎÄØ£¿¿¼ÂÇÒ»ÏÂÒÔϵÄÇé¿ö£º
ÔÚ Flex Ó¦ÓóÌÐòÖÐн¨Ò»¸ö List ×é¼þ¡£È»ºóн¨Ò»¸ö°üº¬ÓÐ RadioButton µÄ×é¼þÓÃÓÚ List µÄ itemRenderer¡£µ±Óû§µ¥»÷ RadioButton ʱ£¬¿ÉÄÜÄã»áÏëÈÃËûµÄ¸¸×é¼þ List ²úÉúÒ»¸öʼþ¡£
µ«ÊÇÈçϵĴúÂë»á²úÉúÒ»¸ö±àÒëÆ÷´íÎó£¬ÒòΪ List ×é¼þ²¢Ã»ÓГmyEvent”ÊôÐÔ£º
<!-- »á²úÉúÒ»¸ö±àÒëÆ÷´íÎó -->
<mx:list id="myList" dataprovider="{listData}"
itemRenderer="uk.nwebb.CustomRenderer"
myEvent="onSomeEventHandler(event)" />
ÓÉÓÚÎÒÃDz¢Ã»ÓÐʵÀý»¯×Ô¼ºµÄ itemRenderer£¬ÈçºÎ²ÅÄÜ»ñµÃ¹ã²¥³öÀ´µÄʼþÄØ£¿ÒªÏëʵÏÖÕâÑùµÄ¹¦ÄÜ£¬±ØÐëͨ¹ýÏÂÃæµÄÁ½¸ö²½Ö裺
Ê×ÏÈ£¬ÎÒÃDZØÐëÈÃÎÒÃÇ·ÖÅɵÄʼþÉϸ¡£¬Ö»ÒªÔÚ·½·¨ÖÐÌí¼ÓһЩ¶øÍâµÄ²ÎÊý¾Í¿ÉÒÔ×öµ½¡£ÈçÏÂÉèÖà bubble ºÍ cancelable ²ÎÊý£º
//дÔÚij¸ö×é¼þÖÐ
dispatchEvent("myEvent", true, true);
//ÓÉÓÚÔÎıȽÏÀÏ£¬ÉÏÃæÕâ¸öд·¨ÊÇ Flex 2 µÄ¡£Flex 3 µÄºóÃæÁ½¸ö²ÎÊýÒª¸³µ½ Event ʵÀýÀïÃæ¡£
//Flex 3 ´úÂëÈçÏÂ
dispatchEvent(new Event("myEvent", true, true));
ÏÖÔÚ List ×é¼þÈÔÈ»»¹ÊÇûÓÐ myEvent ÊôÐÔ¡£ÎªÁËÄÜÈà List ×é¼þ½ÓÊÕµ½ÉÏÃæ·ÖÅɵÄʼþ£¬ÎÒÃDZØÐëÈ·±£Õâ¸ö List ×é¼þÓÐ ID£¬È»ºó¿ÉÒÔÔÚ³õʼ»¯º¯Êý»òÕß creattionComplete º¯ÊýÖаó¶¨Ê¼þ£º
//дÔÚ´´½¨ List ×é¼þµÄÀàÖÐ
private function onInit():void
{
myList.addEventListener("myEvent", myEventHandler);
}
¾ÝÎÒËù
Ïà¹ØÎĵµ£º
adobeµÄas3libÀïÃæÓиöJSON¿â£¬µ«ÊDz»ºÃÓ㬸ñʽ¶¨ÒåÒªÇó·Ç³£Ñϸñ£¬¾³£»áÓÐЩĪÃûÆäÃîµÄ´íÎó£¬Èç¹û²»ÊǷdz£±ØÒª·ñ´«ÊäÊý¾Ý»¹ÊÇʹÓÃXML±È½Ï¿É¿¿Ò»µã£¬ÄܼõÉÙһЩ²»±ØÒªµÄµ÷ÊÔʱ¼ä¡£
1¡¢Îı¾¶¨Òåkey¡¢valueÖµ¶¼Òª¼ÓË«ÒýºÅ£¬keyÖµ±ØÐë¼Ó£¬value½¨Òé¼ÓÉÏ£»
2¡¢ÎðʹÓõ¥ÒýºÅ´úÌæË«ÒýºÅ£»
3¡¢ÖÐÎıàÂë±ØÐëÑϸñ²âÊÔ£¬¼´Ê¹Í¬Ê ......
1. releaseʱȥµôËùÓÐtraceÐÅÏ¢ºÍloggerÐÅÏ¢£¬·ñÔòÓ°ÏìÐÔÄÜ
2. Èç¹û±¨ÎÞ·¨·ÃÎʱ¾µØÎļþ»òswf ÔÚcompileÀïÃæÐ´ -use-network=false
3. ʵÏÖcomponentÕæÕýÒþ²Ø³ýÁËÉèÖÃvisible=falseÍ⻹ÐèÒªÉèincludeInLayout = false
4. ÉèÊÖÐÍÓÐʱ³öÀ´ÉèbuttonMode="true" useHandCursor="true" »¹ÒªÉèmouseChildren="false"
5. fo ......
Flex Chart ËäÈ»ÓÐÌṩÍêÕûµÄÊÔÓù¦ÄÜ
²»¹ý±àÒëÍê³ÉµÄͼ±í»á¼ÓÉÏˮӡ
“Flex Data Visualization Trial”µÄ×ÖÑù¡£
¼ÈÈ»ÊÇ AS£¬ÄÇÊÂÇé¾Í¼òµ¥ÁË
Ö»ÒªÔÚ Flex Project 內×ÔÐмÓÉÏÒÔÏ Class£º
package
mx.charts.chartClasses {
public class ChartsLicenseHandler {
}
}
È»ºó ......