Извините, я не согласен с удалением дочернего элемента, потому что у вас возникнут проблемы при добавлении его обратно на место в точном порядке.
Пример: если у вас есть 5 страниц в аккордеоне, вы удаляете ребенка 1 и 3, теперь при любом условии вы хотите, чтобы номер 3 вернулся в аккордеон, как вы кладете его обратно? потому что индекс больше не равен 3 (помните, что 1 тоже удален).
Я нашел хорошее решение здесь . Короче говоря, вы делаете свой собственный аккордеон с помощью enalbe и отключаете возможность, когда включаете и отключаете определение для дочернего контейнера.
здесь я вставляю код аккордеона:
/**
* http://blog.flexexamples.com/2008/05/30/preventing-users-from-clicking-on-an-accordion-containers-header-in-flex/
*/
package comps {
import mx.containers.accordionClasses.AccordionHeader;
import mx.events.FlexEvent;
public class MyAccHeader extends AccordionHeader {
public function MyAccHeader() {
super();
addEventListener(FlexEvent.INITIALIZE, accordionHeader_initialize);
}
private function accordionHeader_initialize(evt:FlexEvent):void {
enabled = data.enabled;
}
}
}
Возможно, мой ответ уже не актуален для вас, но я надеюсь, что он может помочь кому-то еще, кто сталкивается с той же проблемой.