@@ -14,8 +14,8 @@ pub fn InputNumber<T>(
14
14
#[ prop( optional, into) ] invalid : MaybeSignal < bool > ,
15
15
#[ prop( optional, into) ] class : OptionalProp < MaybeSignal < String > > ,
16
16
#[ prop( optional) ] comp_ref : ComponentRef < InputNumberRef > ,
17
- #[ prop( optional, into) ] parser : OptionalProp < Callback < String , String > > ,
18
- #[ prop( optional, into) ] formatter : OptionalProp < Callback < String , String > > ,
17
+ #[ prop( optional, into) ] parser : OptionalProp < Callback < String , T > > ,
18
+ #[ prop( optional, into) ] formatter : OptionalProp < Callback < T , String > > ,
19
19
#[ prop( attrs) ] attrs : Vec < ( & ' static str , Attribute ) > ,
20
20
#[ prop( default = MaybeSignal :: Static ( T :: min_value( ) ) , into) ] min : MaybeSignal < T > ,
21
21
#[ prop( default = MaybeSignal :: Static ( T :: max_value( ) ) , into) ] max : MaybeSignal < T > ,
79
79
invalid. get ( ) || value < min. get ( ) || value > max. get ( )
80
80
} ) ;
81
81
82
+ let parser = parser. map ( |parser| {
83
+ Callback :: new ( move |v| parser. call ( v) . to_string ( ) )
84
+ } ) ;
85
+ let formatter = formatter. map ( |formatter| {
86
+ Callback :: new ( move |v : String | formatter. call ( v. parse :: < T > ( ) . unwrap_or_default ( ) ) )
87
+ } ) ;
88
+
82
89
view ! {
83
90
<Input
84
91
attrs
0 commit comments