用expansion_tile_card这个组件,以为是组件的问题,后来发现不是,是flutter的机制问题,还跟作者报了bug,原文如下:

before I delete a item as ExpansionTileCard in my list, the expansion title card is expanded,

then next item in the deleted item postion with expanded .
like this:
1 a item opend --> delete
2 b item closed
3 c item closed

after
1 b item opend
2 c item closed

问题是这样的:

一个List ,我删除了其中一个item,下个item的数据会自动放入这个item里, 这个时候没发现触发item的任何方法,导致item的状态没有改变。

这个列表

展开以后删除

删除以后下个item的数据自动填入到第一个item里,但是状态并没有改变

经过我的测试,我给每个item随机了一个英文单词, 输出的时候发现 item只替换了数据,没有改变item的状态, 没有触发什么东西,直接就改了属性,看来不是组件的问题,是flutter的机制特点导致的。

解决方法有两个,组件作者给了一个,但是我测试还是没解决,如下:

You should be able to fix this in your code by giving each tile a unique key. What's happening is Flutter is copying the state from one to the other because it thinks the two widgets are the same.Quick example:ListView.builder(itemBuilder: (context, index){return ExpansionTileCard(key: PageStorageKey('my-tile-$index'),title: Text('This is tile #$index'),);
})

另外就是有一篇文章:

https://www.jianshu.com/p/b16f70dd692c

目前是用GlobalKey的方法,通过GlobalKey调用组件里的方法,判断并强制关闭组件状态

但是别人给我介绍了更好的解决方法:

https://juejin.im/post/5ca2152f6fb9a05e1a7a9a26

直接用

UniqueKey()

推荐用unique key来保持唯一的方法

Flutter 列表踩坑相关推荐

  1. Flutter 列表踩坑2

    今天遇到一个列表item 的model 更新了以后,但是list 的model没更新的问题,问题解决了,来发下心得 最后找到原因,原来是页面刷新了,以后得注意以下问题: 1 我已经使用了PageCon ...

  2. android studio第一个flutter工程踩坑

    1.最后一坑:  各种环境, 路径都配置好了,  但是新建flutter工程,  竟然是空的,   最后在我犀利的小眼神扫射下,  发现新建工程的时候, android studio 右下角有个报错, ...

  3. Flutter 开发踩坑记录(干货总结)

    Flutter 太好学了!BUG 真的太少了!issues 只有 5000 多!也就那么亿点!简单得我都枯了!毕竟每次遇到问题,???????? 都是直接去找群里的法佬.低调.Alex 等几位大佬(? ...

  4. Flutter 开发踩坑记录

    Flutter 太好学了!BUG 真的太少了! issues 只有 5000 多!也就那么亿点!简单得我都枯了!毕竟每次遇到问题,

  5. 安卓 Native+Flutter 应用开发入门资料、亲身实战及踩坑记录

    安卓 Native+Flutter 应用开发实战及踩坑记录,练手入门项目:FluLearn 入门资料 第三方共享包检索(国内).第三方共享包检索(国外) Flutter开发环境搭建(中文版).Flut ...

  6. 【Flutter混合开发踩坑日记之‘applicationVariants‘ for extension ‘android‘】

    Flutter混合开发踩坑日记之'applicationVariants' for extension 'android' 正文 坑一:Could not get unknown property ' ...

  7. iOS 入门开发踩坑实录

    其实人生也没有什么道理可讲,但是我们不必丧气,还是要期待,人生有奇遇. 前言 苹果开发者:iOS Developer 最近因为工作需要要开始搞iOS了,简单记录下我收集和学习的过程. 学习资料准备 组 ...

  8. 分布式深度学习最佳入门(踩坑)指南

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者丨Lyon@知乎(已授权) 来源丨https://zhuanla ...

  9. HTML常见标签易踩坑笔记(一)

    最近在学习HTML的时候,遇到一些容易踩坑的点,梳理一遍,顺便把常用的标签再巩固巩固. 1.article 标签(H5新标签) (1)定义:<article>元素表示文档.页面.应用或网站 ...

最新文章

  1. 查看linux机器是32位还是64位的方法
  2. TensorFlow人工智能引擎入门教程之十 最强网络 RSNN深度残差网络 平均准确率96-99%
  3. usb接口供电不足_电脑USB接口不够用?来试试ORICO条纹hub扩展器吧
  4. 【CJOJ2616】 【HZOI 2016】偏序 I(cdq分治,树状数组)
  5. 想成为阿里160万年薪的P8架构师?你必须掌握如下6大技能体系!
  6. 深度残差收缩网络再次理解(论文地址+代码地址+代码理解)
  7. 基于Session的认证方式_实现认证功能_Spring Security OAuth2.0认证授权---springcloud工作笔记116
  8. 使用Geolocation校正GDAL不支持的数据
  9. (二十七):application对象 (JSP学习第八天)
  10. caxa自动保存的文件在哪里_CAXA CAD教程之软件临时文件的清理
  11. 超详细html5登录注册页面总结
  12. PJzhang:如何在裸奔的年代找到一些遮羞布
  13. Camera2 三预览
  14. 花生米三连发(动规)
  15. 爬取三千条数据需要多久_数字科学家赚多少钱?我爬取近 6 年三千份数据后发现了这些秘密...
  16. java代码自动抠图_Opencv java实现人脸抠图和行为识别
  17. hdu 6656 Final Exam
  18. 基于数据分析的“用户群组+推送”,提升用户粘性
  19. DaVinci:跟踪器 - 窗口
  20. 软件测试第二课 等价类划分、边界限制和判定表的使用

热门文章

  1. 【人工智能】给初学者们讲解人工神经网络(ANN)
  2. 阿里云大学:使用自然语言处理进行简历筛选 笔记
  3. MFC开发IM---MFC实现http协议传输图片和文本
  4. 理想汽车回应被列入“预摘牌名单”:积极配合审计底稿相关的工作
  5. 算命大仙的黄金时代?一年轻松赚5亿…..
  6. 苹果因芯片短缺优先生产iPhone 13 常规iPad平均交付时间超7周
  7. 真快!iOS 15.4支持戴口罩解锁了:苹果终于满足iPhone用户需求
  8. 得物App回应“倒钩价格被炒至69999元”:已做下架处理
  9. 纽交所再次反转重新推动“摘牌” 三大运营商回应来了
  10. 《原神》月入16亿,米哈游为何仍然被嫌弃?