Ami*_*mir 2 android list object dart flutter
我正在调用类中的函数来更新列表对象。我已成功获取所需的对象并更改其中的值。如何更新回原始列表?
这是我的代码:
void updateTask(
Guid id, String title, String start, String end, String timeleft) {
final taskToBeUpdated = _tasks.firstWhere((element) => element.id == id);
taskToBeUpdated.title = title;
taskToBeUpdated.start = start;
taskToBeUpdated.end = end;
taskToBeUpdated.timeLeft = timeleft;
}
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用 forloop 来实现这一点
for (var i = 0; i < _tasks.length; i++) {
if (_tasks[i].id == id) {
_tasks[i].title = title;
_tasks[i].start = start;
_tasks[i].end = end;
_tasks[i].timeLeft = timeleft;
}
}
Run Code Online (Sandbox Code Playgroud)
但有没有更短的方法呢?
小智 5
您的第一个代码应该直接修改列表中的对象,因为 dart 通过引用传递它。
尝试运行此代码以了解其工作原理:
List a = [{"dod":1}, {"dod":3}];
Map _b = a.firstWhere((e)=>e["dod"]==1);
_b["dod"] = 2;
print (a);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1226 次 |
| 最近记录: |