Flutter 列表踩坑
用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 列表踩坑相关推荐
- Flutter 列表踩坑2
今天遇到一个列表item 的model 更新了以后,但是list 的model没更新的问题,问题解决了,来发下心得 最后找到原因,原来是页面刷新了,以后得注意以下问题: 1 我已经使用了PageCon ...
- android studio第一个flutter工程踩坑
1.最后一坑: 各种环境, 路径都配置好了, 但是新建flutter工程, 竟然是空的, 最后在我犀利的小眼神扫射下, 发现新建工程的时候, android studio 右下角有个报错, ...
- Flutter 开发踩坑记录(干货总结)
Flutter 太好学了!BUG 真的太少了!issues 只有 5000 多!也就那么亿点!简单得我都枯了!毕竟每次遇到问题,???????? 都是直接去找群里的法佬.低调.Alex 等几位大佬(? ...
- Flutter 开发踩坑记录
Flutter 太好学了!BUG 真的太少了! issues 只有 5000 多!也就那么亿点!简单得我都枯了!毕竟每次遇到问题,
- 安卓 Native+Flutter 应用开发入门资料、亲身实战及踩坑记录
安卓 Native+Flutter 应用开发实战及踩坑记录,练手入门项目:FluLearn 入门资料 第三方共享包检索(国内).第三方共享包检索(国外) Flutter开发环境搭建(中文版).Flut ...
- 【Flutter混合开发踩坑日记之‘applicationVariants‘ for extension ‘android‘】
Flutter混合开发踩坑日记之'applicationVariants' for extension 'android' 正文 坑一:Could not get unknown property ' ...
- iOS 入门开发踩坑实录
其实人生也没有什么道理可讲,但是我们不必丧气,还是要期待,人生有奇遇. 前言 苹果开发者:iOS Developer 最近因为工作需要要开始搞iOS了,简单记录下我收集和学习的过程. 学习资料准备 组 ...
- 分布式深度学习最佳入门(踩坑)指南
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者丨Lyon@知乎(已授权) 来源丨https://zhuanla ...
- HTML常见标签易踩坑笔记(一)
最近在学习HTML的时候,遇到一些容易踩坑的点,梳理一遍,顺便把常用的标签再巩固巩固. 1.article 标签(H5新标签) (1)定义:<article>元素表示文档.页面.应用或网站 ...
最新文章
- 查看linux机器是32位还是64位的方法
- TensorFlow人工智能引擎入门教程之十 最强网络 RSNN深度残差网络 平均准确率96-99%
- usb接口供电不足_电脑USB接口不够用?来试试ORICO条纹hub扩展器吧
- 【CJOJ2616】 【HZOI 2016】偏序 I(cdq分治,树状数组)
- 想成为阿里160万年薪的P8架构师?你必须掌握如下6大技能体系!
- 深度残差收缩网络再次理解(论文地址+代码地址+代码理解)
- 基于Session的认证方式_实现认证功能_Spring Security OAuth2.0认证授权---springcloud工作笔记116
- 使用Geolocation校正GDAL不支持的数据
- (二十七):application对象 (JSP学习第八天)
- caxa自动保存的文件在哪里_CAXA CAD教程之软件临时文件的清理
- 超详细html5登录注册页面总结
- PJzhang:如何在裸奔的年代找到一些遮羞布
- Camera2 三预览
- 花生米三连发(动规)
- 爬取三千条数据需要多久_数字科学家赚多少钱?我爬取近 6 年三千份数据后发现了这些秘密...
- java代码自动抠图_Opencv java实现人脸抠图和行为识别
- hdu 6656 Final Exam
- 基于数据分析的“用户群组+推送”,提升用户粘性
- DaVinci:跟踪器 - 窗口
- 软件测试第二课 等价类划分、边界限制和判定表的使用
热门文章
- 【人工智能】给初学者们讲解人工神经网络(ANN)
- 阿里云大学:使用自然语言处理进行简历筛选 笔记
- MFC开发IM---MFC实现http协议传输图片和文本
- 理想汽车回应被列入“预摘牌名单”:积极配合审计底稿相关的工作
- 算命大仙的黄金时代?一年轻松赚5亿…..
- 苹果因芯片短缺优先生产iPhone 13 常规iPad平均交付时间超7周
- 真快!iOS 15.4支持戴口罩解锁了:苹果终于满足iPhone用户需求
- 得物App回应“倒钩价格被炒至69999元”:已做下架处理
- 纽交所再次反转重新推动“摘牌” 三大运营商回应来了
- 《原神》月入16亿,米哈游为何仍然被嫌弃?