FormScopedWidget class abstract

Abstract class to implement the View portion of the form widget used to both add new and edit existing forms.

The FormRef including the function of the WidgetRef and form information is passed to build, and the View is implemented using it.

Implement FormAddPageScopedWidget and FormEditPageScopedWidget together as follows.

新規追加と既存の編集を両立させるために利用するフォームウィジェットのView部分を実装するための抽象クラス。

buildWidgetRefの機能とフォームの情報を含めたFormRefが渡されるのでそれを用いてViewを実装します。

FormAddPageScopedWidgetFormEditPageScopedWidgetを合わせて下記のように実装します。

@immutable
@PagePath("user/add")
class UserAddPage extends FormAddPageScopedWidget {
  const UserAddPage({
    super.key,
  });

  @pageRouteQuery
  static const query = _$UserAddPageQuery();

  @override
  FormScopedWidget build(BuildContext context, PageRef ref) =>
    const UserForm();
}

@immutable
@PagePath("user/{edit_id}/edit")
class UserEditPage extends FormEditPageScopedWidget {
  const UserEditPage({
    super.key,
    @PageParam("edit_id") required super.editId,
  });

  @pageRouteQuery
  static const query = _$UserEditPageQuery();

  @override
  FormScopedWidget build(BuildContext context, PageRef ref) =>
    const UserForm();
}

@immutable
class UserForm extends FormScopedWidget {
  const UserForm({super.key});

  @override
  Widget build(BuildContext context, FormRef ref) {
    return Scaffold(
      // Any view form
    );
  }
}
Inheritance
Implemented types
Available Extensions

Constructors

FormScopedWidget({Key? key})
Abstract class to implement the View portion of the form widget used to both add new and edit existing forms.
const

Properties

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, FormRef ref) Widget
Build the internal widget.
createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() State<StatefulWidget>
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
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}) 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