颤振构造函数参数可选的不是常量

时间:2021-06-12 17:22:06

标签: flutter constructor constants default

我想构建一个具有可选参数的构造函数。问题是这个参数没有接收到一个常量值。我怎么会有一个不分配常量值的可选参数?

在我的代码中,可选参数称为 _id,它使用 UniqueKey() 函数。

我的代码如下:

import 'package:depresion/models/actividad.dart';
import 'package:flutter/widgets.dart';

class RegistroAnsiedad{

  late final UniqueKey _id;
  late final int _estado_animo;
  late final int _fecha;
  late final int _nivel_ansiedad;
  late final Actividad _actividad;


  RegistroAnsiedad(
      this._estado_animo,
      this._fecha,
      this._nivel_ansiedad,
      this._actividad,
      [this._id]
      )
  {
    this._estado_animo = _estado_animo;
    this._fecha = _fecha;
    this._nivel_ansiedad = _nivel_ansiedad;
    this._actividad = _actividad;
    this._id = UniqueKey();
  }


  UniqueKey get id => _id;
  int get estado_animo => _estado_animo;
  int get fecha => _fecha;
  int get nivel_ansiedad => _nivel_ansiedad;
  Actividad get actividad => _actividad;


  @override
  String toString() {
    return "Registro ansiedad [id=${this._estado_animo},"
        "fecha=${this._fecha},"
        "nivel_ansiedad=${this._nivel_ansiedad},"
        "actividad = ${this._actividad}]";
  }
}

提前致谢

1 个答案:

答案 0 :(得分:1)

按如下方式更改您的课程

 class RegistroAnsiedad{

  final UniqueKey _id;
  final int _estado_animo;
  final int _fecha;
  final int _nivel_ansiedad;
  final Actividad _actividad;


  RegistroAnsiedad(
      this._estado_animo,
      this._fecha,
      this._nivel_ansiedad,
      this._actividad,
      [UniqueKey id]
      ): this._id = id ?? UniqueKey();
  

  UniqueKey get id => _id;
  int get estado_animo => _estado_animo;
  int get fecha => _fecha;
  int get nivel_ansiedad => _nivel_ansiedad;
  Actividad get actividad => _actividad;


  @override
  String toString() {
    return "Registro ansiedad [id=${this._estado_animo},"
        "fecha=${this._fecha},"
        "nivel_ansiedad=${this._nivel_ansiedad},"
        "actividad = ${this._actividad}]";
  }
}
相关问题