【问题标题】:Why am I getting the Equatable error: The element type can't be assigned to the list type 'Object'为什么我收到 Equatable 错误:无法将元素类型分配给列表类型 \'Object\'
【发布时间】:2022-10-15 01:17:25
【问题描述】:

我将 Flutter 升级到 v 3.3.4 并试图解决我的 bloc 的 null 安全问题,但遇到了 Equatable props 的问题。当我将事件属性之一设为可空时,可相等的 get 道具在[旅游]支柱:
元素类型“Tour?”不能分配给列表类型“对象”。

以下是相关代码:

part of 'tour_editor_bloc.dart';

abstract class TourEditorEvent extends Equatable {
  const TourEditorEvent();

  @override
  List<Object> get props => [];
}

class OpenTourEditor extends TourEditorEvent {
  final Tour? tour;

  OpenTourEditor({this.tour});
  @override
  List<Object> get props => [tour];
}

谢谢你的帮助。

【问题讨论】:

    标签: flutter dart bloc dart-null-safety equatable


    【解决方案1】:

    props接受可以为空的数据,先改抽象类props再改OpenTourEditor

    abstract class TourEditorEvent extends Equatable {
      const TourEditorEvent();
    
      @override
      List<Object?> get props => [];
    }
    
    class OpenTourEditor extends TourEditorEvent {
      final Tour? tour;
    
      OpenTourEditor({this.tour});
      @override
      List<Object?> get props => [tour];
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-25
      • 2017-04-10
      • 2017-11-23
      • 2023-02-10
      相关资源
      最近更新 更多