Flutter 填坑之 表单数据哪里去了?

最近遇到一个奇怪的问题,一个 flutter 表单,填写数据的时候,时常丢失数据,再填写一遍,就可以了。

通过 debug ,找到了原因,是因为我的 FormField 包裹到了 CustomScrollView 之中,当页面滚动的时候,不显示的内容,sliver 从(元素)树上删除,所以还没有到 Form save,FormField 就没了,数据也就丢了。

具体过程比较啰嗦,只亮一下关键证据:

Flutter 填坑之 表单数据哪里去了?

Flutter 填坑之 表单数据哪里去了?

Flutter 填坑之 表单数据哪里去了?

 

解决:

这里用 CustomScrollView 是一个错误,换成 ListView,就一切正常了。

 

转载于:https://my.oschina.net/sdyan/blog/3051226