Select: fix dropdown scroll for multiple select

pull/6143/head
wacky6.AriesMBP 2017-07-29 22:14:46 +10:00 committed by 杨奕
parent bd395fa139
commit 01f85b1831
1 changed files with 8 additions and 6 deletions

View File

@ -354,15 +354,17 @@
} }
}, },
scrollToOption(className = 'selected') { scrollToOption(option) {
if (this.$refs.popper) { if (this.$refs.popper && option) {
const menu = this.$refs.popper.$el.querySelector('.el-select-dropdown__wrap'); const menu = this.$refs.popper.$el.querySelector('.el-select-dropdown__wrap');
scrollIntoView(menu, menu.getElementsByClassName(className)[0]); scrollIntoView(menu, option.$el);
} }
}, },
handleMenuEnter() { handleMenuEnter() {
this.$nextTick(() => this.scrollToOption()); if (!this.multiple) {
this.$nextTick(() => this.scrollToOption(this.selected));
}
}, },
getOption(value) { getOption(value) {
@ -526,7 +528,7 @@
this.$emit('input', option.value); this.$emit('input', option.value);
this.visible = false; this.visible = false;
} }
this.$nextTick(() => this.scrollToOption()); this.$nextTick(() => this.scrollToOption(option));
}, },
getValueIndex(arr = [], value) { getValueIndex(arr = [], value) {
@ -588,7 +590,7 @@
} }
} }
} }
this.$nextTick(() => this.scrollToOption('hover')); this.$nextTick(() => this.scrollToOption(this.options[this.hoverIndex]));
}, },
selectOption() { selectOption() {