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

如何解决Flutter中fl_chart库'No named parameter'报错

fl_chart设置坐标轴标题报命名参数不存在问题修复

报错原因

这两个报错是fl_chart版本迭代做了API破坏性更新导致的,旧版教程/示例里的参数已经被官方移除替换:

  • reversedSize是早期版本的拼写错误参数,后续版本已经修正为reservedSize,作用是定义坐标轴标题区域预留的高度/宽度
  • getTitles参数已经被废弃,替换为getTitlesWidget,新版回调要求直接返回Widget组件,不再支持直接返回字符串,同时原有的getTextStyles参数也被移除,文本样式直接在返回的Text组件中定义即可

修复步骤

  • 将reversedSize: 22替换为reservedSize: 22
  • 删除原有getTextStyles、getTitles两个参数,替换为getTitlesWidget回调,在回调中判断坐标值返回对应带样式的文本组件,不需要显示标题的位置返回空占位组件即可
  • (可选)如果只需要显示底部坐标轴标题,记得将其余三个坐标轴的showTitles设为false,避免出现默认的数值标题

修复后完整代码

import 'package:fl_chart/fl_chart.dart';
import 'package:flutter/material.dart';

class LineTitles {
  static getTitleData() => FlTitlesData(
        show: true,
        bottomTitles: SideTitles(
          showTitles: true,
          reservedSize: 22,
          getTitlesWidget: (value, meta) {
            String title = '';
            switch (value.toInt()) {
              case 2:
                title = 'MAR';
                break;
              case 5:
                title = 'JUN';
                break;
              case 8:
                title = 'SEP';
                break;
              default:
                return const SizedBox.shrink();
            }
            return Text(
              title,
              style: const TextStyle(
                color: Color(0xff68737d),
                fontWeight: FontWeight.bold,
                fontSize: 16,
              ),
            );
          },
          margin: 8,
        ),
        leftTitles: SideTitles(showTitles: false),
        topTitles: SideTitles(showTitles: false),
        rightTitles: SideTitles(showTitles: false),
      );
}

注意:getTitlesWidget的回调有两个参数,第一个是坐标轴当前值,第二个是标题元数据,编写时不要漏写参数否则会触发类型不匹配报错。

内容的提问来源于stack exchange,提问作者pomoworko.com

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 07:06:35