![](/img/trans.png)
[英]Flutter error Column's children must not contain any null values, but a null value was found at index 0
[英]How to solve Flutter error Column's children must not contain any null values, but a null value was found at index 0?
我正在學習並嘗試使用一個有狀態的小部件來創建一個應用程序來顯示一個列表。 我的代碼如下所示:
main.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(),
);
}
}
事務 class 如下所示:
Transaction.dart
import 'package:flutter/foundation.dart';
class Transaction {
final String name;
Transaction({@required this.name});
}
但得到錯誤:
theftion trible tribrars捕獲的例外╞═════════════════════════════════════════ ══════════════════ The following assertion was thrown building UserTransactions(dirty, state: _UserTransactionsState#c1fe3): Column's children must not contain any null values, but a null value was found在索引 0 相關的導致錯誤的小部件是:UserTransactions org-dartlang-app:///packages/test_01/main.dart:14:18
我嘗試了很長時間,但仍然無法弄清楚。 當我要調試時,我正在使用打印線找到正確的 output。 它如下所示:
@override
Widget build(BuildContext context) {
print('==========================================');
print(_userTransactionLists.length);
return Column(
children: _userTransactionLists.map((tx) {
print(tx.name);
return Text(tx.name);
}).toList(),
);
}
您收到此錯誤是因為您沒有返回任何值,因此您的tolist()
方法正在重新調整 null 對象列表
我想,也許你沒有使用像 Column children 這樣的小部件,flutter 無法繪制它們。 “交易”不是小部件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.