在Flutter中将列表添加到另一个列表

huangapple go评论57阅读模式
英文:

Adding List to List in flutter

问题

我在向列表中添加另一个列表时遇到了问题

void save() {
    List list = [_a, _b, _c, _d]
    historyDb.historyList.add(list);
    historyDb.updateHistory();
    _isSave = false;
    notifyListeners();
}

_d 是一个 List<int>

这些值来自于提供程序。第一次保存数据时,例如,我得到的是 [[a, b, c, [1, 2, 3]]],但第二次保存数据时,第一个条目看起来像第二个,所以到处都是相同的数据。

我尝试在添加新数据之前清空列表,使用 list.clear()list = [],但没有成功。有什么想法吗?

英文:

I am having a trouble with adding List to a List

void save() {
    List list = [_a, _b, _c, _d]
    historyDb.historyList.add(list);
    historyDb.updateHistory();
    _isSave = false;
    notifyListeners();
  }

Value _d is a List<int>.

Values are from the provider. When save data one is fine for example i getting [[a, b, c, [1, 2, 3]]]
but when i save data second time first entry is looking as second so i have everywhere the same data.

I tried to clear the List before new data with list.clear() and list = []

Any thoughts?

答案1

得分: 0

你可以使用 spread 操作符来从不同的列表中获取所有元素,然后将它们合并到一个新的列表中。例如:

List list = [..._a, ..._b, ..._c, ...d];

这样将从列表 abcd 中获取所有元素,然后创建一个包含这些项目的新列表。

英文:

You can use spread operator to take all the elements from different lists and then add them together in a new list. Ex:

List list = [..._a, ..._b, ..._c, ...d];

So it will take all elements from list a,b,c,d and then create a new list with those items.

huangapple
  • 本文由 发表于 2023年4月6日 20:35:10
  • 转载请务必保留本文链接:https://go.coder-hub.com/75949589.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定