FormEditPageScopedWidget constructor
Abstract class to implement the existing edit page of a form widget used to both add new and edit existing.
You must always pass editId to edit existing data.
Pass a class inheriting from FormScopedWidget to build.
新規追加と既存の編集を両立させるために利用するフォームウィジェットの既存編集ページを実装するための抽象クラス。
必ず既存のデータを編集するためのeditIdを渡す必要があります。
buildにFormScopedWidgetを継承したクラスを渡してください。
@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
);
}
}
Implementation
const FormEditPageScopedWidget({
super.key,
required this.editId,
});