无法在 Flutter 中重用变量

问题描述 投票:0回答:1

我的代码中有两个变量。我希望在用数据更新第二个变量后重新使用第一个变量。但是,当我清除第一个变量时,第二个变量中的数据也会被清除。

下面是我的代码:(我简化了代码以解决问题)

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。

当然,在此之后我有了构建小部件,我没有在此处显示它以保持对问题的关注。

对此有任何意见欢迎留言。

flutter dart variables
1个回答
0
投票

要复制列表,您可以使用以下命令:

[...divTemp]
© www.soinside.com 2019 - 2024. All rights reserved.