Merge pull request #829 from Leopoldthecoder/select-value

Select: fix clear value & remote label
pull/838/head
FuryBean 2016-11-04 22:29:35 +08:00 committed by GitHub
commit 5a6b4fbf2a
2 changed files with 11 additions and 9 deletions

View File

@ -243,6 +243,10 @@
this.inputLength = 20; this.inputLength = 20;
} }
} else { } else {
if (this.selectedInit) {
this.selectedInit = false;
return;
}
this.valueChangeBySelected = true; this.valueChangeBySelected = true;
this.$emit('input', val.value); this.$emit('input', val.value);
this.$emit('change', val.value); this.$emit('change', val.value);
@ -258,11 +262,9 @@
} }
if (this.remote && typeof this.remoteMethod === 'function') { if (this.remote && typeof this.remoteMethod === 'function') {
this.hoverIndex = -1; this.hoverIndex = -1;
if (!this.multiple) {
this.selected = {};
}
this.remoteMethod(val); this.remoteMethod(val);
this.voidRemoteQuery = val === ''; this.voidRemoteQuery = val === '';
this.broadcast('option', 'resetIndex');
} else if (typeof this.filterMethod === 'function') { } else if (typeof this.filterMethod === 'function') {
this.filterMethod(val); this.filterMethod(val);
} else { } else {
@ -358,6 +360,7 @@
this.resetHoverIndex(); this.resetHoverIndex();
} }
} else { } else {
this.selectedInit = !!init;
this.selected = option; this.selected = option;
this.selectedLabel = option.currentLabel; this.selectedLabel = option.currentLabel;
this.hoverIndex = option.index; this.hoverIndex = option.index;
@ -424,9 +427,6 @@
} }
if (!this.disabled) { if (!this.disabled) {
this.visible = !this.visible; this.visible = !this.visible;
if (this.remote && this.visible) {
this.selectedLabel = '';
}
} }
}, },

View File

@ -203,11 +203,13 @@ describe('Pagination', () => {
}); });
expect(vm.trigger).to.false; expect(vm.trigger).to.false;
setTimeout(_ => {
vm.$el.querySelectorAll('li.el-select-dropdown__item')[1].click(); vm.$el.querySelectorAll('li.el-select-dropdown__item')[1].click();
setTimeout(_ => { setTimeout(_ => {
expect(vm.trigger).to.true; expect(vm.trigger).to.true;
done(); done();
}, 50); }, 50);
}, 50);
}); });
it('pageSize > total', () => { it('pageSize > total', () => {