首页 > 解决方案 > Flutter 如何显示类中的数据

问题描述

我创建了一个这样的类

class Collection with ChangeNotifier {
  List<Items> _items = [];

  void addData(Items day) {
    print(day.name);
    print(day.id);
    _items.add(day);
    print(_items);
    notifyListeners();
  }
}

class Items { 
  String name;
  String comments;
  int id;
  Items({required this.name, required this.comments, required this.id});
}

我像这样在 _items 中插入数据

 Collection().addData(Items(name: "a", comments: "sda", id: 12));

我可以在 addData 函数上正确看到它的打印值

但是当我在我的小部件中显示它时它没有显示

   ListView.builder(
                itemCount: Collection()._items.length,
                itemBuilder: (BuildContext context, int index) {
                  print(Collection()._items.length);
                  return Text('name ${Collection()._items[index].name} id ${Collection()._items[index].id}');
                })

标签: flutterdart

解决方案


每次调用Collection()构造函数时,都会创建一个不同的Collection类实例。您需要使用创建一个实例

final collection = Collection();

然后在您的构建器中使用该对象。

使用final比更好var,因为这样可以确保collection对象不会被重新分配给新实例。


推荐阅读