我在我的 dart 剧本里有个问题,这是我的剧本:
List<ReplyTile> replytile = new List<ReplyTile>();
replytile.add(
new ReplyTile(
member_photo: "photo",
member_id: "001",
date: "01-01-2018",
member_name: "Denis",
id: "001",
text: "hallo.."
)
);
我的问题是:如何编辑ID = 001的列表中的项目“member_name”..?
5条答案
按热度按时间ttisahbt1#
这里假设
ReplyTile
是一个小部件,如果不是,就不需要setState
调用。如果可以保证项目在列表中,请用途:
如果未找到该项,则会引发异常。要防止出现这种情况,请用途:
nxowjjhe2#
下面是使用索引更新列表中单个项目的代码。您可以简单地创建一个相同的扩展函数。
并像下面这样使用它来替换一个项目。
i1icjdpr3#
小部件应该是不可变的(带有final字段),并且不应该由父小部件操纵。
通常你不需要存储一个小部件列表,只要调用
build
方法,就应该从头开始重新构建小部件。相反,将显示的数据存储在一个单独的数据结构中(例如创建一个类
ReplyTileData
),该数据结构应该存储在State
类中。在
build
方法中,读取数据并使用当前数据示例化ReplyTile
小部件。当你想修改数据时,用
setState
包围修改代码,这将触发一个完整的重建(再次调用build
)。yzuktlbb4#
假设你有一个列表
现在,您只需要更新索引数据假设
现在将列表更新为
现在输出为
bttbmeg05#
假设你有一个列表
我们必须从列表中找到该对象的索引。
现在,您可以更新列表