在dart中将元素插入列表的开头

时间:2019-08-24 07:19:29

标签: flutter dart

我只是在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);
  }

4 个答案:

答案 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);