The difference is that you've linked to the documentation for the <mx:Label />
, which is a completely different component than <s:Label />
. MX component versus a Spark component (or Flex 3 versus Flex 4).
The reason for the difference is that the newer Spark Label
component is based off of the Flash Text Engine (FTE), a very low level Actionscript text framework.
There is also another text component that is based off of the Text Layout Framework (that further builds upon the FTE), the RichText component. This doesn't have an htmlText
property either, but with TLF you have the ability to supply it with HTML like syntax. Check the docs for RichText if you want to go that route.
With RichText
you can do stuff like this:
<s:RichText>Hello <s:span fontWeight="bold">World!</s:span></s:RichText>
Finally, if you have some HTML that you got from elsewhere, and don't want to manipulate it you have at least two options:
- Use the MX version of
Label
and it's htmlText
property
- Use the
RichText
component and the static method TextConverter.importToFlow()
to convert your HTML string into a TLF TextFlow
object. Once you create the TextFlow
, you can use the converted TextFlow
and set it on the RichText
component's textFlow
property, see below.
Using the TextConverter
class to import HTML text into a TextFlow
object:
private var htmlText:String = "<html><body><p>Hi whirld</p></body></html>";
private var flow:TextFlow = TextConverter.importToFlow(htmlText, TextConverter.TEXT_FIELD_HTML_FORMAT);
myRichTextLabel.textFlow = flow;