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

dbf7pr2w  于 2023-01-18  发布在  Flutter
关注(0)|答案(7)|浏览(352)

我只是在Flutter中创建一个简单的待办事项应用程序。我管理列表中的所有待办事项。我想在列表的开头添加任何新的待办事项。我可以使用这种变通方法来实现这一点。有没有更好的方法来实现这一点?

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);
  }
eiee3dmh

eiee3dmh1#

对于那些正在寻找一个简单的方法来添加多个项目在开始位置,你可以使用这个参考:

List<int> _listOne = [4,5,6,7];
List<int> _listTwo = [1,2,3];

_listOne.insertAll(0, _listTwo);
ct2axkht

ct2axkht2#

使用Listinsert()方法来添加条目,这里的索引将是0以将其添加到开头。

List<String> list = ["B", "C", "D"];
list.insert(0, "A"); // at index 0 we are adding A
// list now becomes ["A", "B", "C", "D"]
ma8fv8wu

ma8fv8wu3#

用途

List.insert(index, value);
svgewumm

svgewumm4#

我想添加另一种在列表开头附加元素的方法,如下所示

var list=[1,2,3];
 var a=0;
 list=[a,...list];
 print(list);

//prints [0, 1, 2, 3]
bogh5gae

bogh5gae5#

向列表的开头和结尾添加新项目:

List<String> myList = ["You", "Can", "Do", "It"];
myList.insert(0, "Sure"); // adding a new item to the beginning

// new list is: ["Sure", "You", "Can", "Do", "It"];

lastItemIndex = myList.length;

myList.insert(lastItemIndex, "Too"); // adding a new item to the ending
// new list is: ["You", "Can", "Do", "It", "Too"];
izkcnapc

izkcnapc6#

其他的答案都很好,但是既然Dart有一些与Python的列表理解非常相似的东西,我想说明一下。

// Given
List<int> list = [2, 3, 4];
list = [
  1,
  for (int item in list) item,
];

list = [
  1,
  ...list,
];

结果[1,2,3,4]

mnemlml8

mnemlml87#

更好的是,如果你想添加更多的项目:-

List<int> myList = <int>[1, 2, 3, 4, 5];
myList = <int>[-5, -4, -3, -2, -1, ...myList];

相关问题