flutter - 如何解决Flutter错误Column的children不能包含任何null值,但在索引0处发现null值?

标签 flutter

我正在学习并尝试使用一个有状态小部件来创建一个应用程序来显示列表。我的代码如下所示:

ma​​in.dart

import 'package:flutter/material.dart';
import './widgets/user_transactions.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: Container(
          child: UserTransactions(),
        ),
      ),
    );
  }
}

stateul 小部件代码是: user_transactions.dart

import 'package:flutter/material.dart';
import '../models/transaction.dart';

class UserTransactions extends StatefulWidget {
  @override
  _UserTransactionsState createState() => _UserTransactionsState();
}

class _UserTransactionsState extends State<UserTransactions> {
  final List<Transaction> _userTransactionLists = [
    Transaction(name: 'boss 01'),
    Transaction(name: 'boss 02'),
    Transaction(name: 'boss 03'),
    Transaction(name: 'boss 04'),
  ];
  @override
  Widget build(BuildContext context) {
    print('==========================================');
    print(_userTransactionLists.length);
    return Column(
      children: _userTransactionLists.map((tx) {
        Text(tx.name);
        print(tx.name);
      }).toList(),
    );
  }
}

交易类如下所示:

交易.dart

import 'package:flutter/foundation.dart';

class Transaction {
  final String name;
  Transaction({@required this.name});
}

但出现错误:

══╡小组件库捕获异常 ╞═══════════════════════════════════════ ══════════ ══════════ 构建 UserTransactions(dirty, state: 时抛出以下断言: _UserTransactionsState#c1fe3): 列的子项不得包含任何空值,但空值是 在索引 0 处找到 相关的导致错误的小部件是: UserTransactions org-dartlang-app:///packages/test_01/main.dart:14:18

我尝试了很长时间,但仍然无法弄清楚。当我进行调试时,我使用打印行得到正确的输出。它看起来像下面这样:

enter image description here

最佳答案

@override
Widget build(BuildContext context) {
    print('==========================================');
    print(_userTransactionLists.length);
    return Column(
      children: _userTransactionLists.map((tx) {
       print(tx.name);
       return Text(tx.name);
      }).toList(),
    );
  }

您收到此错误是因为您没有返回任何值,因此您的 tolist() 方法正在重新调整空对象列表

关于flutter - 如何解决Flutter错误Column的children不能包含任何null值,但在索引0处发现null值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58521626/

相关文章:

flutter - 如何像这样设计 Flutter textfield

firebase - 执行 flutter run 时获取此日志输出的原因是什么 - 与设备失去连接 - ?

Flutter 在对话框中打开 webview

flutter - 在 Flutter 中运行单元测试时 MissingPluginException

flutter - 如何使用 Getx 重新启动我的 Flutter 应用

laravel - 使用 laravel-socialite 后端通过社交帐户登录用户

google-maps - 迭代标记 Google Flutter map

flutter - 如何在页面加载时在 Listview 上应用自动滚动

android - “未找到 Android 属性。”构建 Flutter aar 时出错

flutter - 如何在 Flutter 中的文本字段中包装提示文本?