55 lines
1.5 KiB
Dart
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('确认'),
|
|
),
|
|
],
|
|
);
|
|
},
|
|
);
|
|
}
|