Android 如果颤振中listA=List.from(listB),如何防止元素不从listB编辑和从listA编辑?
在flatter中,我有两个列表,代码如下。我从ListA更改了一个元素,但也从ListB更改了它,为什么会发生这种情况Android 如果颤振中listA=List.from(listB),如何防止元素不从listB编辑和从listA编辑?,android,list,flutter,dart,Android,List,Flutter,Dart,在flatter中,我有两个列表,代码如下。我从ListA更改了一个元素,但也从ListB更改了它,为什么会发生这种情况 List<Model> listA = List(), listB = [ new Model.withData(value: "b1"), new Model.withData(value: "b2") ]; listA = List.from(lis
List<Model> listA = List(),
listB = [
new Model.withData(value: "b1"),
new Model.withData(value: "b2")
];
listA = List.from(listB);
print("listA:" + listA.toString() + " listB:" + listB.toString());
listA[0].value = "a1";
print("listA:" + listA.toString() + " listB:" + listB.toString());
如何仅从ListA而不是从ListB更改元素
这是我的模型课
class Model{
String value;
Model.withData({this.value});
@override
String toString() {
return 'Model{value: $value}';
}
}
提前感谢。我认为您正在将对象从listB复制到listA,因此在两个列表中,列表项引用相同的对象,并且当您对对象进行更改时,会对两个列表产生影响
对于(列表B中的var模型){
listA.add(新模型.withData(值:Model.value))
} 我希望尝试这样的方法,会有帮助
class Model{
String value;
Model.withData({this.value});
@override
String toString() {
return 'Model{value: $value}';
}
}