我只是在Flutter中创建一个简单的ToDo应用。我正在管理列表中的所有待办事项。我想在列表的开头添加任何新的待办任务。我能够使用这种解决方法来实现这一目标。有更好的方法吗?
void _addTodoInList(BuildContext context){
String val = _textFieldController.text;
final newTodo = {
"title": val,
"id": Uuid().v4(),
"done": false
};
final copiedTodos = List.from(_todos);
_todos.removeRange(0, _todos.length);
setState(() {
_todos.addAll([newTodo, ...copiedTodos]);
});
Navigator.pop(context);
}
答案 0 :(得分:5)
使用insert()
的{{1}}方法添加项目,此处的索引将是List
,以开始添加项目。示例:
0
答案 1 :(得分:1)
其他答案都很好,但现在 Dart 有一些与 Python 的列表理解非常相似的东西,我想注意一下。
List<int> list = [2, 3, 4];
list = [
1,
for (int item in list) item,
];
结果为 [1, 2, 3, 4]
答案 2 :(得分:1)
我想添加另一种方法来在这样的列表的开头附加元素
var list=[1,2,3];
var a=0;
list=[a,...list];
print(list);
//prints [0, 1, 2, 3]
答案 3 :(得分:0)
使用 List.insert(index,value);