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部分を実装するための抽象クラス。
buildにWidgetRefの機能とフォームの情報を含めたFormRefが渡されるのでそれを用いてViewを実装します。
FormAddPageScopedWidgetとFormEditPageScopedWidgetを合わせて下記のように実装します。
@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
-
- Object
- DiagnosticableTree
- Widget
- StatefulWidget
- FormScopedWidget
- 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
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