You need to enable JavaScript to run this app. Flutter结合AWS Amplify开发时Dart如何调用QueryPagination实现分页查询?
优惠活动
大模型
产品
解决方案
定价
更多

Flutter结合AWS Amplify开发时Dart如何调用QueryPagination实现分页查询?

Flutter AWS Amplify DataStore分页调用失败解决方法

核心问题

  1. 冗余使用new关键字(Dart 2.0+自动识别构造函数,无需显式声明new)
  2. 未导入QueryPagination所属的amplify_datastore包
  3. Amplify版本与官方示例的API不兼容

分步解决

1. 导入正确依赖

// 必须导入该包才能识别QueryPagination
import 'package:amplify_datastore/amplify_datastore.dart';
import 'package:amplify_core/amplify_core.dart';
// 导入自定义数据模型(如Post)
import 'models/Post.dart';

2. 修正分页调用语法

  • Amplify Flutter 1.x版本(匹配旧版官方示例API):
    去掉new,明确指定返回类型泛型:
    List<Post> posts = await Amplify.DataStore.query(
      Post.classType,
      pagination: const QueryPagination(page: 0, limit: 100),
    );
    
  • Amplify Flutter 2.x+版本(API已迭代):
    改用新版分页构造函数:
    // 指定每页返回条数(等价于旧版page=0的前100条)
    List<Post> posts = await Amplify.DataStore.query(
      Post.classType,
      pagination: const QueryPagination.pageSize(100),
    );
    

3. 验证依赖版本

检查pubspec.yaml中amplify_datastore的版本号,确保与代码调用的API匹配:

  • 若版本≥2.0,必须使用新版分页语法
  • 若版本<2.0,可直接用1.x版语法

报错排查

  • 提示QueryPagination未定义:检查是否导入amplify_datastore包
  • 提示参数不匹配:核对Amplify版本与对应语法

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.23 10:36:04