## CupertinoPopoverButton 仿iOS的UIPopover效果的 用于弹窗的按钮 ```dart CupertinoPopoverButton({ this.child, this.popoverBuild, this.popoverColor=Colors.white, @required this.popoverWidth, @required this.popoverHeight, BoxConstraints popoverConstraints, this.onTap, this.transitionDuration=const Duration(milliseconds: 200), this.radius=8.0}); ``` | Param | Type | Default | Description | | --- | --- | --- | --- | | child | Widget | | 按钮的内容 | | popoverBuild | WidgetBuilder | | 生成弹出框的内容 | | [popoverWidth] | double | | 弹出框的宽度 | | [popoverHeight] | double | | 弹出框的高度 | | [popoverConstraints] | BoxConstraints | maxHeight:123.0 maxWidth:150.0 | 弹出框的最大最小高宽| | [onTap] | BoolCallback | | 按钮点击事件,返回true取消默认反应(不打开Popover) | | [popoverColor] | Color | 白色 | 弹出框的背景颜色 | | [transitionDuration] | Duration | 0.2s | 过度动画时间 | | [radius] | double | 8.0 | 弹出框的圆角弧度 | **Example** ```dart CupertinoPopoverButton( child: Container( margin: EdgeInsets.all(20.0), width: 80.0, height: 40.0, decoration: BoxDecoration( color: Colors.white, borderRadius: BorderRadius.all(Radius.circular(5.0)), boxShadow: [BoxShadow(color: Colors.black12,blurRadius: 5.0)] ), child: Center(child:Text('左上角')), ), popoverBuild:(BuildContext context){ return Container( width: 100.0, height: 100.0, child: Text('左上角内容'), ) }); ``` ## CupertinoPopoverMenuList Popover弹出的菜单样式列表,一般与[CupertinoPopoverMenuItem](#CupertinoPopoverMenuItem)一起用,会给两个Item加间隔线 ```dart CupertinoPopoverMenuList({this.children}) ``` | Param | Type | Description | | --- | --- | --- | | children | List | 子元素,一般是CupertinoPopoverMenuItem | ## CupertinoPopoverMenuItem 单个菜单项 ```dart const CupertinoPopoverMenuItem({ this.leading, this.child, this.onTap, this.isTapClosePopover=true }); ``` | Param | Type | Default | Description | | --- | --- | --- | --- | | [leading] | Widget | 菜单左边,一般放图标 | | [child] | Widget | 菜单内容 | | [onTap] | BoolCallback | | 按钮点击事件,返回true取消默认反应(不关闭Popover) | | [isTapClosePopover] | bool | 是否点击关闭 | #### 案例核心代码 ```dart CupertinoPopoverMenuList( children: [ CupertinoPopoverMenuItem(leading: Icon(Icons.add),child: Text("新增"),), CupertinoPopoverMenuItem(leading: Icon(Icons.edit),child: Text("修改"),), CupertinoPopoverMenuItem(leading: Icon(Icons.delete),child: Text("删除"),) ], ) ```