Commit 07201151da318b83e5ddf65149643f84205b7488
1 parent
abb82deb
fix #5090
Showing
1 changed file
with
6 additions
and
15 deletions
Show diff stats
src/components/select/select.vue
| @@ -761,21 +761,12 @@ | @@ -761,21 +761,12 @@ | ||
| 761 | }, | 761 | }, |
| 762 | slotOptions(options, old){ | 762 | slotOptions(options, old){ |
| 763 | // #4626,当 Options 的 label 更新时,v-model 的值未更新 | 763 | // #4626,当 Options 的 label 更新时,v-model 的值未更新 |
| 764 | - if (this.flatOptions && this.flatOptions.length && this.values.length && !this.multiple && !this.remote) { | ||
| 765 | - this.values = this.values.map(value => { | ||
| 766 | - const option = this.flatOptions.find(option => { | ||
| 767 | - if (!option.componentOptions) return false; | ||
| 768 | - return option.componentOptions.propsData.value === value.value; | ||
| 769 | - }); | ||
| 770 | - | ||
| 771 | - if(!option) return null; | ||
| 772 | - | ||
| 773 | - const label = getOptionLabel(option); | ||
| 774 | - return { | ||
| 775 | - value: value.value, | ||
| 776 | - label: label | ||
| 777 | - }; | ||
| 778 | - }).filter(Boolean); | 764 | + // remote 下,调用 getInitialValue 有 bug |
| 765 | + if (!this.remote) { | ||
| 766 | + const values = this.getInitialValue(); | ||
| 767 | + if (this.flatOptions && this.flatOptions.length && values.length && !this.multiple) { | ||
| 768 | + this.values = values.map(this.getOptionData).filter(Boolean); | ||
| 769 | + } | ||
| 779 | } | 770 | } |
| 780 | 771 | ||
| 781 | // 当 dropdown 在控件上部显示时,如果选项列表的长度由外部动态变更了, | 772 | // 当 dropdown 在控件上部显示时,如果选项列表的长度由外部动态变更了, |