指定时,未为该类指定Flutter getter [英] Flutter getter isn't specified for the class, when it is specified

查看:382
本文介绍了指定时,未为该类指定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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆