需求:需要记录历史数据,于是在操作之前需要将List数组对象深拷贝一份在一个新的数组对象里。
1:封装了一个复杂对象
import 'package:flutter/material.dart';
import '../../data/enums/direction_enum.dart';
import 'b.dart';
class A{
A({
this.id,
this.name,
this.listB,
this.offset = Offset.zero,
this.size = Size.zero,
this.onSelect = false,
this.direct = DirectEnum.normal,
});
int? id;
String? name;
List<B>? listB;
late Offset offset;
late Size size;
late DirectEnum direct;
late bool onSelect;
A.fromJson(Map<String, dynamic> json) {
id = json['id'];
name

文章介绍了在Flutter中如何对包含复杂对象的List数组进行深拷贝,通过将每个对象转换为JSON再反序列化为新对象,确保原始数据不受操作影响。示例代码展示了如何对类A和其内部包含的类B对象进行深拷贝,以及对于非复杂对象数组可使用List.from()或sublist(0)简化处理。
最低0.47元/天 解锁文章
5040

被折叠的 条评论
为什么被折叠?



