showPrompt method

Future<String?> showPrompt({
  1. required BuildContext context,
  2. required String message,
  3. String? defaultValue,
})

Implementation

Future<String?> showPrompt({
  required BuildContext context,
  required String message,
  String? defaultValue,
}) async {
  final controller = TextEditingController();
  controller.text = defaultValue ?? '';
  return await showDialog(
    context: context,
    builder: (context) {
      return AlertDialog(
        title: Text(message),
        content: TextField(controller: controller),
        actions: [
          MaterialButton(
            minWidth: 28,
            onPressed: () {
              Navigator.of(context).pop(null);
            },
            child: const Text('取消'),
          ),
          MaterialButton(
            minWidth: 28,
            onPressed: () {
              Navigator.of(context).pop(controller.text);
            },
            child: const Text(
              '确认',
              style: TextStyle(color: Colors.blue),
            ),
          ),
        ],
      );
    },
  );
}