ElForm class
表单小部件,此组件拥有表单校验、数据重置功能,但不包含任何 UI 外观,
创建 model 时必须明确指定 Map<String, dynamic> 类型,否则无法通过 dart 类型校验:
class Example extends HookWidget {
const Example({super.key});
@override
Widget build(BuildContext context) {
final form = useState<Map<String, dynamic>>({}); // 必须明确指定类型
return ElForm(form);
}
}
对于任何实现 ElFormModelValue 的小部件,都会将自身添加到 ElForm 的依赖列表中(仅限设置 prop 的字段), ElForm 会统一更新数据、表单规则校验。
- Inheritance
- Available extensions
Constructors
- ElForm({Key? key, required ElFormController controller, required Widget child})
-
const
Properties
- child → Widget
-
final
- controller → ElFormController
-
final
- elHorizontalScroll → Widget
-
Available on Widget, provided by the ElWidgetExt extension
监听鼠标水平滚动(仅限桌面端生效),其后代滚动小部件必须在 widget 层指定 ScrollControllerno setter - hashCode → int
-
The hash code for this object.
no setterinherited
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
build(
BuildContext context) → Widget -
Describes the part of the user interface represented by this widget.
override
-
createElement(
) → _StatelessHookElement -
Creates a StatelessElement to manage this widget's location in the tree.
inherited
-
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
-
elScrollbarBehavior(
BuildContext context, ElScrollBehavior behavior) → Widget -
Available on Widget, provided by the ElWidgetExt extension
合并祖先 ElScrollBehavior 的默认配置,如果不需要尊重祖先配置, 请直接使用 ScrollConfiguration 覆盖即可 -
noScrollbarBehavior(
BuildContext context, {Key? key, bool? overscroll, Set< PointerDeviceKind> ? dragDevices, MultitouchDragStrategy? multitouchDragStrategy, Set<LogicalKeyboardKey> ? pointerAxisModifiers, ScrollPhysics? physics, TargetPlatform? platform, ScrollViewKeyboardDismissBehavior? keyboardDismissBehavior, bool enabled = true}) → Widget -
Available on Widget, provided by the ElWidgetExt 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
Static Methods
-
maybeOf(
BuildContext context) → ElFormController? -
of(
BuildContext context) → ElFormController