我有一个 ComboBox,它的 dataprovider 设置为ArrayCollection
. dataProvider
包含 XML 数据。
<s:ComboBox id="articleComboBox" width="245" dataProvider="{_pageCollection}" labelField="title" change="comboChange(event)"/>
我想要一个功能,如果 的长度itemlabel
大于某个值(例如 25),则必须截断标签并在末尾附加两个点(..)。
Change
在ComboBox的情况下,我已将其实现为:
private function comboChange(event:*):void{
var str:String = articleComboBox.textInput.text;
if(str.length > 25){
str = str.slice(0, 22) + "..";
articleComboBox.textInput.text = str;
}
}
但它不起作用。文本仍然显示原始的“ title
”字段dataProvider
作为一个整体。
可能是由于labelfield
mxml 中指定的属性。我在这里缺少什么?
任何建议将不胜感激。请帮忙...
这里是dataProvider
(_pageCollection
):
<articles>
<article id="1146270" title="new article1" page_id="3205769"></article>
<article id="1144499" title="new article2" page_id="3205771"></article>
<article id="1082813" title="All Dressed Up And No Place To Train…" page_id="3205773"></article>
<article id="1146024" title="The NCAA Doesn" page_id="3205776"></article>
<article id="1083014" title="The Chula Vista Olympic Training Center" page_id="3205777"></article>
</articles>