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

Flutter如何将列表勾选的用户数据传递并展示到其他页面

实现方案

步骤1:创建选中数据展示页面

新建展示选中用户的页面文件,示例代码如下:

import 'package:flutter/material.dart';

class SelectedUsersPage extends StatelessWidget {
  // 接收传入的选中用户列表
  final List<dynamic> selectedUsers;
  const SelectedUsersPage({super.key, required this.selectedUsers});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text("已选中用户")),
      body: selectedUsers.isEmpty
          ? const Center(child: Text("暂未选中任何用户"))
          : ListView.builder(
              padding: const EdgeInsets.all(16),
              itemCount: selectedUsers.length,
              itemBuilder: (context, index) {
                final user = selectedUsers[index];
                return Card(
                  child: ListTile(
                    title: Text("${user['id']} ${user['name']}"),
                    subtitle: Text(user['email'] ?? '无邮箱信息'),
                  ),
                );
              },
            ),
    );
  }
}

步骤2:修改原有页面的跳转逻辑

找到现有代码的getCheckboxItems方法,替换为如下逻辑,实现选中数据过滤和页面跳转:

getCheckboxItems() {
  // 过滤所有已勾选的用户数据
  List<dynamic> selectedUsers = users.where((post) => post['checked'] == true).toList();
  // 跳转至新页面并传递选中数据
  Navigator.push(
    context,
    MaterialPageRoute(
      builder: (context) => SelectedUsersPage(selectedUsers: selectedUsers),
    ),
  );
}

注意:修改完成后别忘了在原有Sunday页面的顶部导入SelectedUsersPage所在的dart文件。

步骤3:可选优化(冗余代码删除)

现有代码的ListView.builder的item中嵌套了一层无用的ListView,可以删除优化性能,修改后的itemBuilder代码如下:

itemBuilder: (context, i) {
  final post = users[i];
  return Card(
    elevation: 5,
    child: Padding(
      padding: const EdgeInsets.all(12.0),
      child: ListTile(
        leading: Checkbox(
          value: post['checked'] ?? false,
          onChanged: (value) {
            setState(() {
              post['checked'] = value;
            });
          }),
        title: Text("${post['id']} ${post['name']}"),
      ),
    )
  );
}

内容的提问来源于stack exchange,提问作者aditya-magdum

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 13:06:04