От ItemRenderer отправьте Событие, чтобы запросить нового ItemRenderer.Не забудьте сделать его пузырящимся, чтобы он доходил до списка, которому принадлежит ItemRenderer.
protected function clearTxt_enterHandler(event:FlexEvent):void
{
dispatchEvent(new Event("myCustomRequestEvent", true));
//replace with a real custom Event; this is for brevity
}
Прослушайте это событие в компоненте List, а в обработчике просто добавьте новый элементего поставщик данных (возможно, с пустой меткой).
myList.addEventListener("myCustomRequestEvent", addRow);
private function addRow(event:Event):void {
myList.dataProvider.addItem({label: null});
//replace anonymous object with your class
}
Это добавит новый элемент в список.В вашем случае вам может потребоваться привязать requestRowCount к количеству элементов в Списке, чтобы он увеличивался при добавлении элементов.
<s:VerticalLayout requestedRowCount="{myList.dataprovider.length}" />
Кстати: почему вы используете TileLayout?Если вам нужно два поля ввода для элемента, вы должны поместить два TextInputs в один ItemRenderer и использовать VerticalLayout.Это сделает вашу жизнь намного проще.