【发布时间】:2022-08-10 22:33:31
【问题描述】:
我需要使用 equatable for 在 bloc 状态类中比较 dart 中的地图列表(即 List < Map >)。但问题是 equatable 似乎没有比较地图属性列表。
class WaterCartDetailState extends Equatable {
final String? status;
final WateCartDetailModel? result;
final List<Map>? mapData;
const WaterCartDetailState({this.status, this.result, this.mapData});
WaterCartDetailState copyWith(
{String? status, WateCartDetailModel? result, List<Map>? mapData}) {
return WaterCartDetailState(
status: status ?? this.status,
result: result ?? this.result,
mapData: mapData ?? this.mapData);
}
@override
List<Object?> get props => [status, result, mapData];
}
由于 equatable 没有比较地图列表。我不能发出新的状态变化。
-
这回答了你的问题了吗? How can I compare Lists for equality in Dart?
-
部分地..但我想平等地做比较。
-
什么是地图模型?它是 Map<E, T> 集合还是您定义的自定义类型?
-
它只是 dart 提供的原始地图,而不是任何自定义类型
标签: flutter dart bloc equatable