import 'package:ansu_ui/extension/num_extension.dart'; import 'package:flutter/material.dart'; /// ## 弹框菜单 ///```dart /// int result = await showASPopUpMenu( /// context: context, /// items: [ /// PopupMenuItem(child: Text('test'), value: 1), /// ], /// ); /// ``` Future showASPopUpMenu({ required BuildContext context, required List> items, T? initValue, }) async { final RenderBox renderBox = context.findRenderObject() as RenderBox; Size size = renderBox.size; return await showMenu( context: context, initialValue: initValue, position: RelativeRect.fromRect( Rect.fromPoints( renderBox.localToGlobal(Offset.zero, ancestor: Overlay.of(context)!.context.findRenderObject()), renderBox.localToGlobal(size.bottomRight(Offset.zero)), ), Offset.zero & Overlay.of(context)!.context.size!, ), items: items, shape: RoundedRectangleBorder(borderRadius: 10.radius), ); }