SpinnerBox class

自定义下拉菜单弹框

Inheritance
Available extensions

Constructors

SpinnerBox({Key? key, required PopupValueNotifier controller, required List<SpinnerPopScope> children, Widget? prefix, bool isExpandPrefix = false, Widget? suffix, bool isExpandSuffix = false, SpinnerHeaderTheme theme = defaultPinnerTheme, Color? barrierColor, SpinnerViewTransitionsBuilder? transitionsBuilder, SpinnerBoxIntercept? onIntercept})
普通构建方式,必须对数据源进行监听,否则下次弹窗不会保存历史选中数据
SpinnerBox.builder({Key? key, List<SpinnerHeaderData>? titles, PopupValueNotifier? controller, required SpinnerBoxBuilder builder, Widget? prefix, bool isExpandPrefix = false, Widget? suffix, bool isExpandSuffix = false, SpinnerHeaderTheme theme = defaultPinnerTheme, Color? barrierColor, SpinnerViewTransitionsBuilder? transitionsBuilder, SpinnerBoxIntercept? onIntercept})
每次唤起弹框,都会重新构建内部视图,可以减少对数据源的监听修改
SpinnerBox.rebuilder({Key? key, required List<SpinnerHeaderData> titles, required SpinnerBoxBuilder builder, Widget? prefix, bool isExpandPrefix = false, Widget? suffix, bool isExpandSuffix = false, SpinnerHeaderTheme theme = defaultPinnerTheme, Color? barrierColor, SpinnerViewTransitionsBuilder? transitionsBuilder, SpinnerBoxIntercept? onIntercept})
每次唤起弹框,都会重新构建内部视图,可以减少对数据源的监听修改

Properties

barrierColor → Color?
弹窗遮罩背景色
final
hashCode → int
The hash code for this object.
no setterinherited
heightFull → SpinnerPopScope

Available on Widget, provided by the SpinnerPopScopeExt extension

显示占满全部空间
no setter
heightPart → SpinnerPopScope

Available on Widget, provided by the SpinnerPopScopeExt extension

显示占据部分高度
no setter
isExpandPrefix → bool
final
isExpandSuffix → bool
final
isRebuilder ↔ bool
是否重复构建builder
latefinal
key → Key?
Controls how one widget replaces another widget in the tree.
finalinherited
onIntercept → SpinnerBoxIntercept?
点击时控制是否显示弹窗
final
prefix → Widget?
前置视图
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
spinnerController ↔ PopupValueNotifier
逻辑控制器
getter/setter pair
suffix → Widget?
后置视图
final
theme → SpinnerHeaderTheme
顶部按钮视图配置
final
transitionsBuilder → SpinnerViewTransitionsBuilder?
弹出内容显示动画
final
widgets ↔ List<SpinnerPopScope>
标题 弹框内容构建
getter/setter pair
widgetsBuilder ↔ SpinnerBoxBuilder
弹框内容构建
getter/setter pair

Methods

createElement() → StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() → State<SpinnerBox>
Creates the mutable state for this widget at a given location in the tree.
override
debugDescribeChildren() → List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
height([double scale = 0.7]) → SpinnerPopScope

Available on Widget, provided by the SpinnerPopScopeExt extension

快速构建 PopupBtns builder 数组集
hideKeyboard(BuildContext context) → Widget

Available on Widget, provided by the HideKeyboardX extension

添加键盘关闭事件
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) → DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) → String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) → String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) → String
Returns a one-line detailed description of the object.
inherited
toStringShort() → String
A short, textual description of this widget.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited