You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter中实现API返回学生阶段性成绩求和并在Text组件展示

解决方法

1. 计算成绩总和

假设API返回的数据已经解析为List<Map<String, dynamic>>类型的data列表,用fold方法就能快速完成求和:

// 模拟API返回的成绩列表
List<Map<String, dynamic>> data = [
  {'score': 10},
  {'score': 34},
  {'score': 45},
];

// 计算总分,加空判断避免null报错
int totalScore = data.fold(0, (sum, item) => sum + (item['score'] as int? ?? 0));

2. 在Text组件中展示总和

直接把计算好的totalScore传入Text组件即可:

Text('学生阶段性成绩总分:$totalScore'),

完整使用示例

如果是在StatefulWidget中实现,完整代码如下:

import 'package:flutter/material.dart';

class ScoreTotalPage extends StatefulWidget {
  const ScoreTotalPage({super.key});

  @override
  State<ScoreTotalPage> createState() => _ScoreTotalPageState();
}

class _ScoreTotalPageState extends State<ScoreTotalPage> {
  // 模拟API返回数据
  List<Map<String, dynamic>> data = [
    {'score': 10},
    {'score': 34},
    {'score': 45},
  ];

  late int totalScore;

  @override
  void initState() {
    super.initState();
    // 初始化时计算总分
    totalScore = data.fold(0, (sum, item) => sum + (item['score'] as int? ?? 0));
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('成绩统计')),
      body: Center(
        child: Text('学生阶段性成绩总分:$totalScore', style: const TextStyle(fontSize: 20)),
      ),
    );
  }
}

内容的提问来源于stack exchange,提问作者namdi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 09:45:50