在dart中隐藏和显示小部件

时间:2020-04-07 05:35:34

标签: android flutter dart

我是飞镖新手。

我有一个用于项目的类,其中包含一个id整数和一个bool可见性。

class Item{
  item(this.name,  this.isVisible);
  final int id;
  bool isVisible;

}

还有另一个函数返回小部件

Widget _buildwithItem(Item item){
  return Visibility(
    visible: item.isVisible,
    child:Text(item.id.toString())
  );

}

现在我需要将许多项目创建为数组

List<Item> items = <Item>[];
List<Widget> widgets = <Widget>[];
createItems();
items.foreach((element)widgets.add(_buildwithItem(element)));

现在,我将这些小部件放在一列中并添加一个按钮, 单击此按钮将在

的项目中搜索ID
item.id = id

找到项目后,我将设置

item.isVisible = !item.isVisible;

我想同时隐藏/显示该项目的小部件,该怎么做?

我尝试为每个“可见性”设置键,但是可见值是最终值,所以我无法直接对其进行编辑。

我曾尝试将构建函数移至Item类中,但仍无法正常工作。

1 个答案:

答案 0 :(得分:0)

您想创建一个Item的新实例,然后替换以前的Item实例,我显然不知道您的代码是什么样子,但是您可能想做这样的事情。

setState((){
items[itemFound] = Item(items[itemFound].id, !items[itemsFound].isVisible)
)};