要将一个文件中有状态小部件中创建的列表访问到另一个文件中的无状态小部件,可以通过以下步骤实现:
List
或ArrayList
来存储数据。以下是一个示例代码,演示了如何实现上述步骤:
// 有状态小部件文件
import 'package:flutter/material.dart';
class StatefulWidgetWithList extends StatefulWidget {
@override
_StatefulWidgetWithListState createState() => _StatefulWidgetWithListState();
}
class _StatefulWidgetWithListState extends State<StatefulWidgetWithList> {
List<String> dataList = ['Item 1', 'Item 2', 'Item 3'];
@override
Widget build(BuildContext context) {
return Container(
child: StatelessWidgetWithoutList(dataList: dataList),
);
}
}
// 无状态小部件文件
import 'package:flutter/material.dart';
class StatelessWidgetWithoutList extends StatelessWidget {
final List<String> dataList;
StatelessWidgetWithoutList({required this.dataList});
@override
Widget build(BuildContext context) {
return ListView.builder(
itemCount: dataList.length,
itemBuilder: (context, index) {
return ListTile(
title: Text(dataList[index]),
);
},
);
}
}
在上述示例中,有状态小部件StatefulWidgetWithList
中创建了一个包含列表数据的状态变量dataList
。然后,将该列表数据作为参数传递给无状态小部件StatelessWidgetWithoutList
,并在无状态小部件中使用该数据进行渲染。
领取专属 10元无门槛券
手把手带您无忧上云