[FIXED] Der Hauptteil kann normal abgeschlossen werden, was dazu führt, dass „null“ zurückgegeben wird, aber der Rückgabetyp „Future“ ist ein potenziell nicht nullfähiger Typ

Ausgabe

Ich hoffe, jemand kann mir mit dem benutzerdefinierten Widget unten helfen. Als Tool verwende ich FlutterFlow to No-Code mit Flutter, aber es ist möglich, benutzerdefinierte Widgets zu erstellen, wie ich es unten versuche. Ich verwende eine Aktion als Parameter, aber ich habe keine Ahnung, wie ich das Problem lösen soll, das von FlutterFlow im Screenshot erwähnt wird. Kann jemand von euch Licht in diesen Fall bringen?Geben Sie hier die Bildbeschreibung ein

class SlideToCommit extends StatefulWidget {
  const SlideToCommit({
    Key? key,
    this.width,
    this.height,
    this.label,
    this.icon,
    required this.action,
  }) : super(key: key);

  final double? width;
  final double? height;
  final Widget? label;
  final Widget? icon;
  final Future<dynamic> Function() action;

  @override
  _SlideToCommitState createState() => _SlideToCommitState();
}

class _SlideToCommitState extends State<SlideToCommit> {
  @override
  Widget build(BuildContext context) {
    return SliderButton(
        action: () async {
          print("test");
        },

        ///Put label over here
        label: Text(
          "Slide to commit",
          style: TextStyle(
              color: Color(0xff4a4a4a),
              fontWeight: FontWeight.w500,
              fontSize: 17),
        ),
        icon: Center(
            child: Icon(
          Icons.power_settings_new,
          color: Colors.white,
          size: 40.0,
          semanticLabel: 'Text to announce in accessibility modes',
        )));
  }
}```

Lösung

Sie haben actionals FutureBedeutung definiert, dass eine asynchrone Methode vorhanden sein muss. Sie können dies tun, indem Sie das async-Schlüsselwort wie folgt hinzufügen:

action: () async {

},

Aber du hast noch ein anderes Problem. Sie geben einen anderen SliderButtoninnerhalb des Aufbaus Ihres SliderButtonZustands zurück, was bedeutet, dass Sie eine unendliche Rekursion erhalten


Beantwortet von –
Ivo


Antwort geprüft von –
Gilberto Lyons (FixError Admin)

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like