@@ -200,9 +200,78 @@ const Form3 = {
200200 } ,
201201} ;
202202
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+
203271const WrappedForm1 = createForm ( ) ( Form1 ) ;
204272const WrappedForm2 = createForm ( ) ( Form2 ) ;
205273const WrappedForm3 = createForm ( ) ( Form3 ) ;
274+ const WrappedForm4 = createForm ( ) ( Form4 ) ;
206275
207276export default {
208277 render ( ) {
@@ -211,6 +280,7 @@ export default {
211280 < WrappedForm1 />
212281 < WrappedForm2 />
213282 < WrappedForm3 />
283+ < WrappedForm4 />
214284 </ div >
215285 ) ;
216286 } ,
0 commit comments