@@ -10,74 +10,58 @@ const formCheckboxMixin = {
1010
1111 if ( key . startsWith ( "select." ) ) {
1212 if ( key . startsWith ( "select.multiple." ) ) {
13+ self . $set ( self . $parent . data , key . replace ( "select.multiple." , "" ) , null )
1314 if ( initValue ) {
14- data [ key . replace ( "select.multiple." , "" ) ] = JSON . parse ( initValue [ "value" ] ) ;
15- Object . assign ( self . $parent . data , data ) ;
15+ self . setValue ( JSON . parse ( initValue [ "value" ] ) ) ;
1616 self . afterInitialize ( JSON . parse ( initValue [ "value" ] ) )
1717 } else {
18- data [ key . replace ( "select.multiple." , "" ) ] = [ ] ;
19- Object . assign ( self . $parent . data , data ) ;
20- self . afterInitialize ( [ ] )
18+ self . setValue ( [ ] ) ;
19+ self . afterInitialize ( [ ] ) ;
2120 }
2221 } else {
22+ self . $set ( self . $parent . data , key . replace ( "select." , "" ) , null )
2323 if ( initValue ) {
2424 if ( valueType && valueType [ "value" ] == "Integer" ) {
25- data [ key . replace ( "select." , "" ) ] = parseInt ( initValue [ "value" ] ) ;
26- Object . assign ( self . $parent . data , data ) ;
25+ self . setValue ( parseInt ( initValue [ "value" ] ) ) ;
2726 self . afterInitialize ( parseInt ( initValue [ "value" ] ) )
2827 } else {
29-
30- data [ key . replace ( "select." , "" ) ] = initValue [ "value" ] ;
31- Object . assign ( self . $parent . data , data ) ;
28+ self . setValue ( initValue [ "value" ] ) ;
3229 self . afterInitialize ( initValue [ "value" ] )
3330 }
3431 } else {
35- data [ key . replace ( "select." , "" ) ] = null ;
36- Object . assign ( self . $parent . data , data ) ;
32+ self . setValue ( null ) ;
3733 self . afterInitialize ( null )
3834 }
3935 }
4036 } else {
37+ self . $set ( self . $parent . data , key . replace ( "input." , "" ) , null )
4138 if ( initValue ) {
4239 if ( initValue [ "value" ] === "true" ) {
43- data [ key . replace ( "input." , "" ) ] = true ;
44- Object . assign ( self . $parent . data , data ) ;
40+ self . setValue ( true ) ;
4541 self . afterInitialize ( true )
4642 }
4743 if ( initValue [ "value" ] === "false" ) {
48- data [ key . replace ( "input." , "" ) ] = false ;
49- Object . assign ( self . $parent . data , data ) ;
44+ self . setValue ( false ) ;
5045 self . afterInitialize ( false )
5146 }
5247 } else {
53- data [ key . replace ( "input." , "" ) ] = null ;
54- Object . assign ( self . $parent . data , data ) ;
48+ self . setValue ( null ) ;
5549 self . afterInitialize ( null )
5650 }
5751 }
5852 }
59-
60- //without the timeout it's somehow not working
61- setTimeout ( function ( ) {
62- self . $parent . $forceUpdate ( ) ;
63- self . $forceUpdate ( ) ;
64- } , 1 ) ;
6553 } ,
6654 inputChanged : function ( key ) {
6755 if ( this . $parent . isNestedForm ) {
6856 this . $parent . data [ "_destroy" ] = false ;
6957 }
7058 this . $parent . resetErrors ( key ) ;
71- this . $parent . $forceUpdate ( ) ;
72- this . $forceUpdate ( ) ;
7359 } ,
7460 afterInitialize : function ( value ) {
7561 // can be used in the main component for further initialization steps
7662 } ,
7763 setValue : function ( value ) {
7864 this . $parent . data [ this . props [ "key" ] ] = value
79- this . $parent . $forceUpdate ( ) ;
80- this . $forceUpdate ( ) ;
8165 }
8266 }
8367
0 commit comments