@@ -22,6 +22,7 @@ public struct FieldOption<FieldName, Value> {
2222public typealias ControllerRenderOption < FieldName, Value> = ( field: FieldOption < FieldName , Value > , fieldState: FieldState , formState: FormState < FieldName > ) where FieldName: Hashable
2323
2424public struct Controller < Content, FieldName, Value> : View where Content: View , FieldName: Hashable {
25+ let form : FormControl < FieldName > ?
2526 let name : FieldName
2627 let defaultValue : Value
2728 let rules : any Validator < Value >
@@ -31,6 +32,7 @@ public struct Controller<Content, FieldName, Value>: View where Content: View, F
3132 let render : ( ControllerRenderOption < FieldName , Value > ) -> Content
3233
3334 public init (
35+ form: FormControl < FieldName > ? = nil ,
3436 name: FieldName ,
3537 defaultValue: Value ,
3638 rules: any Validator < Value > = NoopValidator ( ) ,
@@ -39,6 +41,7 @@ public struct Controller<Content, FieldName, Value>: View where Content: View, F
3941 fieldOrdinal: Int ? = nil ,
4042 @ViewBuilder render: @escaping ( ControllerRenderOption < FieldName , Value > ) -> Content
4143 ) {
44+ self . form = form
4245 self . name = name
4346 self . defaultValue = defaultValue
4447 self . rules = rules
@@ -50,7 +53,7 @@ public struct Controller<Content, FieldName, Value>: View where Content: View, F
5053
5154 public var body : some View {
5255 HookScope {
53- let renderOption = useController ( name: name, defaultValue: defaultValue, rules: rules, shouldUnregister: shouldUnregister, unregisterOption: unregisterOption, fieldOrdinal: fieldOrdinal)
56+ let renderOption = useController ( form : form , name: name, defaultValue: defaultValue, rules: rules, shouldUnregister: shouldUnregister, unregisterOption: unregisterOption, fieldOrdinal: fieldOrdinal)
5457 render ( renderOption)
5558 }
5659 }
0 commit comments