Wie man VoidCallback und Function(x) Callbacks zur Kommunikation zwischen Widgets in Flutter verwendet

4. Ein untergeordnetes Widget mit Funktionsrückruf erstellen

Erstellen Sie dann eine Datei „function_ child_widget.dart“. Genau wie zuvor werden wir auch in dieser Datei eine Schaltfläche erstellen, die die Funktion „_functionCallback(int i)“ in der Datei „parent_widget.dart“ aufruft, die einen Integer-Wert zurückgibt.

import 'package:flutter/material.dart';

class FunctionChildWidgetPage extends StatelessWidget {
  final Function(int) functionCallback;

  const FunctionChildWidgetPage({Key? key, required this.functionCallback})
      : super(key: key);

  @override
  Widget build(BuildContext context) {
    return ElevatedButton(
      onPressed: () => functionCallback(5),
      child: const Text("Fx Callback"),
    );
  }
}

Starten Sie dann das Projekt. Auf dem Emulator sehen Sie, dass es zwei Schaltflächen gibt, nämlich die Schaltflächen „VoidCallback“ und „Fx Callback“.

void callback

Wenn Sie auf die Schaltfläche „VoidCallback“ klicken, ruft das Child-Widget „VoidCallback“ einfach die Funktion „_voidCallback“ des Parent-Widgets auf und gibt keinen Wert zurück.

Wenn Sie in der Zwischenzeit auf die Schaltfläche „Fx Callback“ klicken, ruft das Child-Widget „Function Callback“ die Funktion „_functionCallback(int i)“ des Parent-Widgets auf, indem es einen Integer-Wert zurückgibt.

Neueste Artikel