@@ -200,9 +200,78 @@ const Form3 = {
200
200
} ,
201
201
} ;
202
202
203
+ const Form4 = {
204
+ mixins : [ BaseMixin ] ,
205
+ props : {
206
+ form : Object ,
207
+ } ,
208
+ data ( ) {
209
+ return {
210
+ useInput : true ,
211
+ } ;
212
+ } ,
213
+ methods : {
214
+ onSubmit ( e ) {
215
+ e . preventDefault ( ) ;
216
+ this . form . validateFields ( ( error , values ) => {
217
+ if ( ! error ) {
218
+ console . log ( 'ok' , values ) ;
219
+ } else {
220
+ console . log ( 'error' , error , values ) ;
221
+ }
222
+ } ) ;
223
+ } ,
224
+ changeUseInput ( e ) {
225
+ this . setState ( {
226
+ useInput : e . target . checked ,
227
+ } ) ;
228
+ } ,
229
+ } ,
230
+
231
+ render ( ) {
232
+ const { getFieldError, getFieldDecorator } = this . form ;
233
+ return (
234
+ < form onSubmit = { this . onSubmit } >
235
+ < h2 > situation 4</ h2 >
236
+ { this . useInput
237
+ ? getFieldDecorator ( 'name' , {
238
+ initialValue : '' ,
239
+ trigger : 'input' ,
240
+ rules : [
241
+ {
242
+ required : true ,
243
+ message : "What's your name 1?" ,
244
+ } ,
245
+ ] ,
246
+ } ) ( < input /> )
247
+ : getFieldDecorator ( 'name2' , {
248
+ initialValue : '' ,
249
+ trigger : 'input' ,
250
+ rules : [
251
+ {
252
+ required : true ,
253
+ message : "What's your name 2?" ,
254
+ } ,
255
+ ] ,
256
+ } ) ( < input /> ) }
257
+ < div >
258
+ < label >
259
+ < input type = "checkbox" checked = { this . useInput } onInput = { this . changeUseInput } />
260
+ toggle decorator name
261
+ </ label >
262
+ { ( getFieldError ( 'name' ) || [ ] ) . join ( ', ' ) }
263
+ { ( getFieldError ( 'name2' ) || [ ] ) . join ( ', ' ) }
264
+ </ div >
265
+ < button > Submit</ button >
266
+ </ form >
267
+ ) ;
268
+ } ,
269
+ } ;
270
+
203
271
const WrappedForm1 = createForm ( ) ( Form1 ) ;
204
272
const WrappedForm2 = createForm ( ) ( Form2 ) ;
205
273
const WrappedForm3 = createForm ( ) ( Form3 ) ;
274
+ const WrappedForm4 = createForm ( ) ( Form4 ) ;
206
275
207
276
export default {
208
277
render ( ) {
@@ -211,6 +280,7 @@ export default {
211
280
< WrappedForm1 />
212
281
< WrappedForm2 />
213
282
< WrappedForm3 />
283
+ < WrappedForm4 />
214
284
</ div >
215
285
) ;
216
286
} ,
0 commit comments