我越来越
[dart] 没有为该类定义 getter 'currentPickup'
PickupEvent[undefined_getter]
event.currentPickup 错误:
import 'dart:async';
import 'package:bloc/bloc.dart';
import 'pickup.dart';
import '../../../models/models.dart';
class PickupBloc extends Bloc<PickupEvent, PickupState> {
@override
Stream<PickupState> mapEventToState(PickupState state, PickupEvent event) async* {
if (state.isNotRunning) {
stopwatch.start();
timer = new Timer.periodic(new Duration(milliseconds: 200), updateTime);
yield PickupState.running();
}
if (state.isRunning) {
stopwatch.stop();
timer.cancel();
_pushPickup(event.currentPickup);
yield PickupState.done();
}
}
当在 PickupEvent 类中指定 getter 并在 Pickup.dart 中正确导入时。
import '../../../models/models.dart';
abstract class PickupEvent {}
class ButtonPressed extends PickupEvent {
final PickupModel currentPickup;
ButtonPressed({
@required this.currentPickup
});
}
知道什么可能导致这种情况吗?
错误信息是正确的。ButtonPressed
有这样一个吸气剂,但是PickupEvent
才不是。
您可以向基类添加抽象 getter
abstract class PickupEvent {
PickupModel get currentPickup;
}
或像
_pushPickup((event as ButtonPressed).currentPickup);
如果你确定这将是ButtonPressed
.
你也可以做
if(event is ButtonPressed) {
_pushPickup(event.currentPickup);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)