本文介绍了指定时,未为该类指定Flutter getter的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我要
[dart]没有为该类定义getter'currentPickup' PickupEvent [undefined_getter]
[dart] The getter 'currentPickup' isn't defined for the class PickupEvent[undefined_getter]
event.currentPickup错误:
error on 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类中指定吸气剂并将其正确导入Pickup.dart中时.
When the getter is specified in the PickupEvent class and properly imported in pickup.dart.
import '../../../models/models.dart'; abstract class PickupEvent {} class ButtonPressed extends PickupEvent { final PickupModel currentPickup; ButtonPressed({ @required this.currentPickup }); }有什么想法会导致这种情况吗?
Any idea what could cause this ?
推荐答案错误消息正确. ButtonPressed具有这种吸气剂,但PickupEvent没有.
The error message is correct. ButtonPressed has such a getter, but PickupEvent does not.
您可以将抽象吸气剂添加到基类中
You can either add an abstract getter to the base class
abstract class PickupEvent { PickupModel get currentPickup; }或像
_pushPickup((event as ButtonPressed).currentPickup);,如果您确定它将是ButtonPressed.
if you are sure it will be a ButtonPressed.
您也可以
if(event is ButtonPressed) { _pushPickup(event.currentPickup); }更多推荐
指定时,未为该类指定Flutter getter
发布评论