【发布时间】:2019-10-23 11:16:20
【问题描述】:
我正在学习并尝试使用一个有状态小部件来创建一个应用程序来显示一个列表。我的代码如下所示:
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(),
);
}
}
事务类看起来像这样:
Transaction.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
我试了很久还是没搞清楚。当我要调试时,我正在使用打印行得到正确的输出。如下所示:
【问题讨论】:
标签: flutter