我的代码:
import 'package:flutter/material.dart';
import '../services.dart';
import 'PersonCard.dart';
class PersonList extends StatefulWidget {
PersonList() {
Services.fetchPeople();
}
@override
_PersonListState createState() => new _PersonListState();
}
class _PersonListState extends State<PersonList> {
_PersonListState() {
print('Helo!?'); // Not running
}
@override
Widget build(BuildContext context) {
return new Padding(
padding: new EdgeInsets.all(10.0),
child: new ListView(
children: <Widget>[
// new PersonCard('Bob', 'Wazowski', '2 minutes ago'),
// new PersonCard('Tim', 'Alan', '5 hours ago'),
// new PersonCard('Josh', 'Applebee', 'Yesterday'),
]
)
);
}
}
基本上,当我的窗口小部件加载 PersonList()
函数运行时,调用带有 Services.fetchPeople()
的Web服务 . 基本上我想要做的是 fetchPeople()
将返回 Map
然后我可以迭代并创建 PersonCard
对象 .
但是 _PersonListState()
构造函数不会运行 . 我错过了一些明显的东西吗
1 回答
您可以使用
widget.people.map((p) => new PersonCard(...))
将数据转换为wigets: