flutter Bloc+Freezed,如何拆分事件类

6yt4nkrj  于 2023-05-19  发布在  Flutter
关注(0)|答案(1)|浏览(178)
class BookingInfoEvent with _$BookingInfoEvent {
  // another (const factory) events ...
  const factory BookingInfoEvent._search({required int mid}) = _Search;
}

class _BookingInfoSearch with _$_BookingInfoSearch {
  const factory _BookingInfoSearch.searchBySearchBar() =_SearchBySearchBar;
  const factory _BookingInfoSearch.searchByQRScan() = _SearchByQRScan;
}

我想用下面的方式来表达上面的代码。

abstract class BookingInfoEvent {...}

abstract class _BookingInfoSearchEvent extends BookingInfoEvent {
  final int mid;
  // ... some data
  _BookingInfoSearchEvent(this.mid);
}
//
class BookingInfoBySearchBar extends _BookingInfoSearchEvent {
  BookingInfoByTextForm(int mid) : super(mid);
}

我想使用Freezed来划分Event类。我该怎么做?

2w3kk1z5

2w3kk1z51#

冻结的类既不能扩展也不能实现。所以这是不可能的。
但是,您可以使用@Implements注解实现抽象类BookingInfoEvent。
比如说

@freezed
sealed class BookingInfoBySearchBar with _$BookingInfoBySearchBar {
  @Implements<BookingInfoEvent>()
  const factory BookingInfoBySearchBar.search() = Search;
}

相关问题