我使用的是 flutter 2.2 版,即使在 body: 参数上使用安全检查 ("!") 后,它仍然会抛出此错误。
class _TabState extends State<TabRoute> {
List<Map<String, Object>>? _pages;
int _selectedPageIndex = 0;
@override
void initState() {
_pages = [
{
'page': Home(),
'title': 'Home',
}
];
super.initState();
}
void _selectPage(int index) {
setState(() {
_selectedPageIndex = index;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Color(0xFFf1f1f1),
appBar: AppBar(
elevation: 0,
backgroundColor: Colors.transparent,
title: Text(
_pages![_selectedPageIndex]['title'].toString(),
style: TextStyle(color: Colors.black),
),
iconTheme: IconThemeData(
color: Colors.black,
),
),
body: _pages![_selectedPageIndex]['page'],
);
}
}
我检查了天气 _pages 变量是否为空,但它仍然不允许我将值分配给 body 属性。它一直说“参数类型'对象?'无法分配给参数类型 'Widget?'"
请帮忙,谢谢!