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

Flutter报错:类型'TaskData'未定义'size'/'length' getter,求修复方案

修复Flutter Provider中TaskData的size/length报错问题

错误原因

TaskData类本身未定义size或length属性,直接通过data.size/data.length访问自然会触发报错。从代码里的data.tasks[index]可以看出,TaskData内部存在一个名为tasks的列表属性,存储着所有任务数据。

两种简单修复方法

  • 方法一(最快捷):直接使用tasks列表的length属性替换原代码中的size
    将代码里的:

    itemCount: data.size,
    

    修改为:

    itemCount: data.tasks.length,
    
  • 方法二(封装属性,更规范):在TaskData类中添加对应的getter方法
    打开task_data.dart文件,在TaskData类中新增getter:

    class TaskData extends ChangeNotifier {
      // 原有tasks列表定义
      List<Task> tasks = [];
    
      // 添加getter,可选其中一个或都加
      int get size => tasks.length;
      // 或者
      int get length => tasks.length;
    }
    

    这样原代码里的data.size或data.length就能正常调用。

推荐方案

优先选择方法一,无需修改模型类代码,直接利用现有属性即可解决问题,操作最简单。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 01:25:19