Методы извлечения значений из диалогов во Flutter

Чтобы извлечь значение из диалога во Flutter, вы можете использовать различные методы в зависимости от типа используемого вами диалога. Вот несколько методов с примерами кода:

Метод 1: использование AlertDialog

TextField(
onChanged: (value) {
inputText = value;
},
),
действия: [
TextButton(
дочерний элемент: Text(‘OK’),
onPressed: () {
Navigator.of(context).pop(inputText);
},
),
],
);
},
);
// Делаем что-нибудь с результатом
print(‘Введенное значение: $result’);

Метод 2: использование SimpleDialog

// Define a function to show the dialog
Future<void> _showInputDialog(BuildContext context) async {
  String result = await showDialog(
    context: context,
    builder: (BuildContext context) {
      String inputText = '';
      return SimpleDialog(
        title: Text('Enter a value'),
        children: <Widget>[
          TextField(
            onChanged: (value) {
              inputText = value;
            },
          ),
          TextButton(
            child: Text('OK'),
            onPressed: () {
              Navigator.of(context).pop(inputText);
            },
          ),
        ],
      );
    },
  );
  // Do something with the result
  print('Value entered: $result');
}

Метод 3. Использование showDialogи пользовательского контента

// Define a function to show the dialog
Future<void> _showInputDialog(BuildContext context) async {
  String inputText = '';
  return showDialog(
    context: context,
    builder: (BuildContext context) {
      return Dialog(
        child: Column(
          mainAxisSize: MainAxisSize.min,
          children: <Widget>[
            Text('Enter a value'),
            TextField(
              onChanged: (value) {
                inputText = value;
              },
            ),
            TextButton(
              child: Text('OK'),
              onPressed: () {
                Navigator.of(context).pop(inputText);
              },
            ),
          ],
        ),
      );
    },
  );
}

Во всех вышеперечисленных методах входное значение фиксируется и возвращается, когда пользователь нажимает кнопку «ОК». Затем вы можете обработать значение по мере необходимости.