@@ -194,8 +194,7 @@ class Select extends Component {
194
194
return value . indexOf ( curr . props . value ) > - 1 ? prev . concat ( curr ) : prev ;
195
195
} , [ ] )
196
196
} , ( ) => {
197
- this . resetInputHeight ( ) ;
198
- this . onSelectedChange ( this . state . selected ) ;
197
+ this . onSelectedChange ( this . state . selected , false ) ;
199
198
} ) ;
200
199
} else {
201
200
const selected = options . filter ( option => {
@@ -287,7 +286,16 @@ class Select extends Component {
287
286
288
287
onValueChange ( val : mixed ) {
289
288
const { multiple } = this . props ;
290
- let { options, valueChangeBySelected, selectedInit, selected, selectedLabel, currentPlaceholder, cachedPlaceHolder } = this . state ;
289
+
290
+ let {
291
+ options,
292
+ valueChangeBySelected,
293
+ selectedInit,
294
+ selected,
295
+ selectedLabel,
296
+ currentPlaceholder,
297
+ cachedPlaceHolder
298
+ } = this . state ;
291
299
292
300
if ( valueChangeBySelected ) {
293
301
return this . setState ( {
@@ -303,7 +311,7 @@ class Select extends Component {
303
311
currentPlaceholder = cachedPlaceHolder ;
304
312
305
313
val . forEach ( item => {
306
- let option = this . options . filter ( option => option . props . value === item ) [ 0 ] ;
314
+ let option = options . filter ( option => option . props . value === item ) [ 0 ] ;
307
315
if ( option ) {
308
316
this . addOptionToValue ( option ) ;
309
317
}
@@ -326,7 +334,7 @@ class Select extends Component {
326
334
} ) ;
327
335
}
328
336
329
- onSelectedChange ( val : any ) {
337
+ onSelectedChange ( val : any , bubble : boolean = true ) {
330
338
const { multiple, filterable, onChange } = this . props ;
331
339
let { query, hoverIndex, inputLength, selectedInit, currentPlaceholder, cachedPlaceHolder, valueChangeBySelected } = this . state ;
332
340
@@ -343,7 +351,7 @@ class Select extends Component {
343
351
344
352
valueChangeBySelected = true ;
345
353
346
- onChange && onChange ( val . map ( item => item . props . value ) , val ) ;
354
+ bubble && onChange && onChange ( val . map ( item => item . props . value ) , val ) ;
347
355
348
356
// this.dispatch('form-item', 'el.form.change', val);
349
357
@@ -367,7 +375,7 @@ class Select extends Component {
367
375
} ) ;
368
376
}
369
377
370
- onChange && onChange ( val . props . value , val ) ;
378
+ bubble && onChange && onChange ( val . props . value , val ) ;
371
379
}
372
380
}
373
381
0 commit comments