@@ -193,16 +193,32 @@ class Form extends React.Component {
193
193
componentWillMount ( ) {
194
194
this . on (
195
195
'form-values' ,
196
- ( { name, fieldValue, isArrayInput, arrayItemIndexs } ) => {
196
+ ( {
197
+ name,
198
+ fieldValue,
199
+ formComponentType,
200
+ isArrayInput,
201
+ arrayItemIndexs,
202
+ } ) => {
197
203
if ( ! isArrayInput ) {
198
- if ( fieldValue ) {
204
+ if ( fieldValue === '' ) {
205
+ switch ( formComponentType ) {
206
+ case 'text' :
207
+ case 'input-number' :
208
+ case 'password' :
209
+ fieldValue = undefined ;
210
+ break ;
211
+ default :
212
+ }
213
+ }
214
+ if ( fieldValue !== undefined ) {
199
215
this . fieldsValue [ name ] = fieldValue ;
200
216
} else {
201
217
delete this . fieldsValue [ name ] ;
202
218
}
203
219
} else {
204
220
//专门处理array-input value值
205
- if ( fieldValue ) {
221
+ if ( fieldValue !== '' && fieldValue !== undefined ) {
206
222
this . tempFieldsValue [ name ] = fieldValue ;
207
223
} else {
208
224
delete this . tempFieldsValue [ name ] ;
@@ -366,7 +382,8 @@ function getFormItemComponent(that) {
366
382
}
367
383
componentDidMount ( ) {
368
384
const name = this . name ;
369
- const { initialValue, rules } = this . props ;
385
+ const { initialValue, rules, type } = this . props ;
386
+ this . formComponentType = type ;
370
387
if ( initialValue !== undefined ) {
371
388
//设置初始化默认值
372
389
// that.fieldsValue[name] = initialValue;
@@ -408,6 +425,7 @@ function getFormItemComponent(that) {
408
425
}
409
426
triggerFormValue ( name , value ) {
410
427
that . trigger ( 'form-values' , {
428
+ formComponentType : this . formComponentType ,
411
429
name,
412
430
fieldValue : value ,
413
431
isArrayInput : this . context . isArrayInput ,
0 commit comments