首页 > 解决方案 > Flutter 使用 map 函数为列表中的每个元素创建一个无状态的小部件

问题描述

我有一个列表书籍,其中包含 Books 对象,例如

List<Books> books = [
 Books(
  bookname: 'The Disasters',
  author: 'M.K England',
  favicon: Icons.star,
  rate: 3.9,
  bookcategory: 'Fiction',
  booksimage: 'images/a7a.jpg',
 ),
];

如何遍历列表中的每个项目并为每个项目创建单独的无状态小部件,因此当将新的 Books 对象添加到列表中时,将自动创建一个无状态小部件,如下所示

class books extends StatelessWidget {
 @override
 Widget build(BuildContext context) {
   return Text('the book name')
 }
}

标签: flutterflutter-layout

解决方案


您可以使用 ListView.builder 遍历列表中的所有项目。

List<Books> booksList = [
Books(
  bookname: 'The Disasters',
  author: 'M.K England',
  favicon: Icons.star,
  rate: 3.9,
  bookcategory: 'Fiction',
  booksimage: 'images/a7a.jpg',
),
];

class books extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return ListView.builder(
      itemCount: booksList.length,
      itemBuilder: (context, index) {
        return Text("${booksList[index].bookname}");
      },
    );
  }
}


推荐阅读