【发布时间】:2021-10-26 21:12:05
【问题描述】:
我有一个带有 ListView.builder 的 FutureBuilder。只有当文档中的字段存在时,我才想在其中显示一个带有文本的容器。我从文档和多个堆栈答案中尝试了以下方法,但没有成功。
snapshot.data.docs[index].data()["Field"]!=null
?
Container(
child: Text("Null check works");
)
:Container()
snapshot.data.docs[index].data().containsKey("Field") ?
Container(
child: Text("Null check works");
)
:Container()
如果我尝试单独检查函数内的字段并打印文本以确认该字段是否为空,它可以工作,但是当我尝试像上面那样对字段进行空检查时,它不起作用。有人遇到过这个问题吗?
【问题讨论】:
-
你到底是什么意思 - 它不起作用?有什么错误吗?当您返回
Container()时,您不会在 UI 中看到任何内容,因为您没有为该容器指定任何宽度或高度。 -
嗨,Hitesh Patil。控制台中没有错误。即使我检查它是否为 != null 或者我使用 containsKey,该语句始终为假,因此它显示 Container()。 (错误响应的容器是否没有子级无关紧要,这只是一个示例)
标签: firebase flutter google-cloud-firestore null-check