我的代码中有两个变量。我希望在用数据更新第二个变量后重新使用第一个变量。但是,当我清除第一个变量时,第二个变量中的数据也会被清除。
下面是我的代码:(我简化了代码以解决问题)
class DataScreen extends StatefulWidget {
final Users user;
const DataScreen({Key? key, required this.user}) : super(key: key);
@override
State<DataScreen> createState() => _DataScreenState();
}
class _DataScreenState extends State<DataScreen> {
List<double> divTemp= []
List<Map<String, Map<String, List<dynamic>>>> divData = [];
@override
void initState() {
// TODO: implement initState
super.initState();
future = _future();
}
Future<int> _future() async {
var step1 = await _getDivData();
if (step1 == 0) {
Get.to(() => ChartViewThree(user: widget.user, divdata: divData));
}
return 0;
}
Future<int> _getDivData() async {
for(int i = 0; i< 10; i++){
divTemp.add(i);
}
divData.addAll([{'D01': {"Deg": divTemp}}]);
divTemp.clear();
for(int i = 0; i< 10; i++){
divTemp.add(i+1);
}
divData.addAll([{'D02': {"Deg": divTemp}}]);
}
}
当我使用divTemp.clear()时,divData中的数据也被清除。我不希望为每个循环创建一个临时变量,因此想再次重新使用 divTemp。
当然,在此之后我有了构建小部件,我没有在此处显示它以保持对问题的关注。
对此有任何意见欢迎留言。
要复制列表,您可以使用以下命令:
[...divTemp]