options static method
ComPopupMenu
options({
- Key? key,
- required Widget child,
- required List<
PopupMenuOption> options, - Color? backgroundColor,
- BorderRadius? borderRadius,
- double? width,
- PressType pressType = PressType.singleClick,
- ComPopupMenuController? controller,
- PreferredPosition? position,
- bool showArrow = true,
- Color? arrowColor,
- void onMenuChanged()?,
创建一个包含多个选项的菜单
便利构造函数,用于快速创建选项列表菜单
Implementation
static ComPopupMenu options({
Key? key,
required Widget child,
required List<PopupMenuOption> options,
Color? backgroundColor,
BorderRadius? borderRadius,
double? width,
PressType pressType = PressType.singleClick,
ComPopupMenuController? controller,
PreferredPosition? position,
bool showArrow = true,
Color? arrowColor,
void Function(bool)? onMenuChanged,
}) {
return ComPopupMenu(
key: key,
pressType: pressType,
controller: controller,
position: position,
showArrow: showArrow,
arrowColor: arrowColor,
menuOnChange: onMenuChanged,
menuBuilder: Container(
width: width ?? 180,
decoration: BoxDecoration(
color: backgroundColor ??
Theme.of(ComContext.context).colorScheme.surfaceContainerLowest,
borderRadius: borderRadius ??
BorderRadius.circular(
ComContext.context.comTheme.shapes.mediumRadius),
),
child: Column(
mainAxisSize: MainAxisSize.min,
children: options.map((option) => _buildOptionItem(option)).toList(),
),
),
child: child,
);
}