如果没有返回任何数据,我想在正文中添加一个文本小部件。否则,我想显示数据。但是,返回以下错误:
flutter: type '_CompactLinkedHashSet<Widget>' is not a subtype of type 'Widget'
我的代码:
body: SafeArea(
child: (isLoading)
? Center(
child: new CircularProgressIndicator(),
)
: Stack(
children: <Widget>[
(jobDetail == null && !isLoading)
? noDataFound()
: {
detailWidget(context, jobDetail),
applyWidget(context, jobDetail)
}
],
),
),
这是我的文本小部件代码
Widget noDataFound() {
return Container(
child: Center(
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Text(
"We could not get the detail. Please try again later",
textAlign: TextAlign.center,
style: TextStyle(fontSize: 20.0),
),
)),
);
}
答案 0 :(得分:3)
您正试图按照错误消息的说明将小部件的哈希集分配给堆栈({...}部分使其成为哈希集)。解决此问题的最简单方法是更改三元运算符的位置。
示例归结为核心问题:
Stack(
children: (jobDetail == null && !isLoading)
? [
Container(),
]
: [
Container(),
Container(),
],
),