Files
plan_flutter/lib/page/plan/widgets/edit_desc_dialog.dart
zhutao 193d29b0ce 1
2025-09-05 18:00:26 +08:00

55 lines
1.5 KiB
Dart

import 'package:flutter/cupertino.dart';
import 'package:go_router/go_router.dart';
void showEditDescDialog(
BuildContext context, {
String value = "",
required void Function(String) onConfirm,
}) {
final controller = TextEditingController(text: value);
final focusNode = FocusNode();
showCupertinoDialog(
context: context,
builder: (_) {
// 确保弹窗显示后再获取焦点
WidgetsBinding.instance.addPostFrameCallback((_) {
focusNode.requestFocus();
});
return CupertinoAlertDialog(
title: Text("编辑摘要"),
content: Padding(
padding: EdgeInsets.only(top: 15),
child: Container(
constraints: BoxConstraints(minHeight: 40, maxHeight: 80),
child: CupertinoTextField(
controller: controller,
maxLines: null,
expands: true,
keyboardType: TextInputType.multiline,
),
),
),
actions: [
CupertinoDialogAction(
onPressed: () {
context.pop();
},
child: Text('取消'),
),
CupertinoDialogAction(
isDefaultAction: true,
onPressed: () {
if (controller.text.trim().isNotEmpty) {
context.pop();
onConfirm(controller.text);
}
},
child: Text('确认'),
),
],
);
},
);
}