在我onPressed
的{{1}}期间,我需要更新数据库,然后更新UI,以便用户看到数据更改的反馈。为此,我致电IconButton
,成功让setState
重建。问题是我不再看到触摸反馈涟漪效应,因为Widget
会立即重建。
Widget
答案 0 :(得分:2)
问题是我正在创建一个ObjectKey
,其中包含每次build
期间重新创建的对象。通过使用ObjectKey
和我的对象的id字段而不是对象本身解决了这个问题。
<强>为强>
var card = new Card(
key: new ObjectKey(goal), //the goal object was re-created during `build`
child: button
);
不可强>
var card = new Card(
key: new ObjectKey(goal.id), // need to key off of the id field as it remains constant
child: button
);
答案 1 :(得分:1)
那不应该停止飞溅。启动应该停止的唯一原因是,如果在IconButton和Material之间添加或删除其中一个小部件,或者更改其键,或更改Material的键,或者在树中移动Material。 (其中一些是现在框架中的错误,我希望在未来几个月内修复它们。)
您可以发布一个显示问题的最小应用吗?
与此同时,我们会在https://github.com/flutter/flutter/issues/6751和https://github.com/flutter/flutter/issues/5456
跟踪问题