Проблема Flex Itemrenderer с DropDown Control
Я хочу показать форматированный текст в раскрывающемся меню, для которого я использую следующий рендер.
<?xml version="1.0" encoding="utf-8"?>
<mx:HBox xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<fx:Script>
<![CDATA[
import spark.utils.TextFlowUtil;
]]>
</fx:Script>
<s:TextArea textFlow="{TextFlowUtil.importFromXML(new XML(data))}"/>
</mx:HBox>
Средство визуализации правильно отображает HTML-текст в раскрывающемся списке, но в самой верхней опции (выбранный элемент) отображается весь тег HTML вместо того, что представляет тег. Я полностью потерян, любая помощь будет оценена.
Спасибо
1 ответ
Какой контроль вы используете? MX ComboBox или элемент управления Spark DropDownList? Или Spark ComboBox?
Поскольку ваш itemRenderer смешивает компоненты Halo и Spark, трудно сказать.
В MX ComboBox вы не можете управлять областью подсказок с помощью itemRenderer. Это должен быть простой текст.
В Spark ComboBox область подсказки представляет собой фактический ввод, который вы вводите. Ss такие не будет отображать HTMLText.
Я подозреваю, что элемент управления Spark DropDownList имеет те же ограничения, что и MX ComboBox, где приглашение не создается с вашим itemRenderer.
Во всех случаях вам придется расширять компонент, если вы хотите сделать что-то еще.
При этом ваш itemRenderer не должен смешивать компоненты Halo и Spark. HBox лишний, в нем только один предмет. Итак, избавьтесь от этого и замените его Spark ItemRenderer. Вместо привязки вашего значения используйте событие dataChange. Обе эти вещи, как известно, увеличивают производительность.