flutter 如何将list.dart文件中的List数据导入main.dart

rvpgvaaj  于 2022-12-14  发布在  Flutter
关注(0)|答案(2)|浏览(118)

下面的List是在list.dart文件中,我想用这个(假设:'place':'Open Space',)数据从这个List转换到我的主.dart文件中的Text()。
第一个

htrmnn0y

htrmnn0y1#

可以使用以下代码

Row(
      children: List.generate(
        hotelList.length,
        (index) {
          return Text('place : ${hotelList[index]['place']},');
        },
      ),
    )

tag5nh1u

tag5nh1u2#

在list.dart文件中,您应该将列表放在一个类中,如下所示:

class ListPlaces{
        List<Map<String, dynamic>> hotelList = [
      {
        'image': 'one.png',
        'place': 'Open Space',
        'destination': 'London',
        'price': 25
      },
      {
        'image': 'two.png',
        'place': 'Global Will',
        'destination': 'London',
        'price': 40
      },
      {
        'image': 'three.png',
        'place': 'Tallest Building',
        'destination': 'Dubai',
        'price': 68
      },
   ];
}

实际上,对于如此小的东西,你可以在你的main中声明列表,但是假设这只是你的应用程序的开始,你将继续使用list.dart。
在main.dart中,您可以在主类中声明“ListPlaces places”来创建一个可以访问类内容的变量,如下所示:

class MyApp extends StatelessWidget {
   const MyApp({Key? key}) : super(key: key);

   ListPlaces places;

   @override
   Widget build(BuildContext context) {
     return MaterialApp(
       home: Container(
         child: Text(places.hotelList[0]['place']),
       ),
     );
   }
 }

请注意,您必须使用places。hotelList[0]['place'],'places'是使用ListPlaces(您的类名)创建的变量的名称,'hotelList'是列表的名称,'[0]'是列表中位置数据的索引,'['place']是您希望从中获取内容的字段的名称。
如果我不能把我的意思说清楚,我很抱歉。

相关问题