如何在不包含项目时隐藏列表组件?

时间:2010-04-28 14:54:44

标签: flex dataprovider

我有一个项目列表,它基于用户选择的“类别”的内容

当用户更改选择时,我将列表的dataProvider更改为当前类别的内容。

有时列表包含项目,有时它不包含

当没有项目时,有没有办法隐藏列表?

我知道在设置dataProvider时我可以这样做,但似乎应该有一个事件或其他我可以使用的事件。

2 个答案:

答案 0 :(得分:2)

你可以尝试

visible="{myList.dataProvider.length>0}"
includeInLayout="{myList.dataProvider.length>0}"

其中“myList”是List组件的id。

答案 1 :(得分:0)

我的第一个解决方案是覆盖set dataProvider:

override public function set dataProvider(value:IList):void {
    super.dataProvider = value;
    this.setVisible(value.length > 0);
}

这确实有效,但Robusto的解决方案也有效,并且更适合IMO。