flutter - 使用 .contains 将小部件添加到列表视图
问题描述
在初始化状态下,我添加了一个 if 语句来检查列表中是否存在自定义小部件,我将传递给 Listview.builder,称为 AddItemButtonTile。如果它不存在,我想将它添加到列表中。
@override
void initState() {
if (!displayedList.listContent.contains(AddItemButtonTile)) {
displayedList.listContent.add(AddItemButtonTile(openTextField));
}
super.initState();
}
每次我离开并返回页面时,此代码都会添加一个新的 AddItemButtonTile。为什么这个 If 语句返回 true?
解决方案
尝试:
@override
void initState() {
if (!displayedList.listContent.any((item) => item is AddItemButtonTile)) {
displayedList.listContent.add(AddItemButtonTile(openTextField));
}
super.initState();
}
推荐阅读
- firebase - 仅在发布模式下,具有 Firebase 的 Flutter 应用程序才会崩溃
- apache-kafka - 通过 Kafka Consumer 消费消息时出错
- javascript - JavaScript修改innerHTML后从PHP中的HTML标签获取文本
- pandas - 向熊猫数据框添加额外的日期行
- awk - GAWK 语法问题
- typescript - 打字稿泛型循环对象数组并与它们相交
- python - 如何在尝试加入之前检查我的机器人是否有权查看语音频道?
- python - 错误消息:“'NoneType' 对象不可调用”。- 从 zappa 在 AWS Lambda 上部署的 django 应用程序接收
- python - 从自定义 txt 地图确定多边形坐标
- flutter - 可以将 ConsumerWidgets 嵌套在 Riverpods 中吗?