From dfae43a75c36af24741f3e6ed9d0a9aa63707343 Mon Sep 17 00:00:00 2001 From: Sergio Crisostomo Date: Wed, 25 Oct 2017 20:49:38 +0200 Subject: [PATCH] correct input value in filterable mode --- src/components/select/option.vue | 2 +- test/unit/specs/select.spec.js | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/src/components/select/option.vue b/src/components/select/option.vue index 8dc23081..0863097c 100644 --- a/src/components/select/option.vue +++ b/src/components/select/option.vue @@ -66,7 +66,7 @@ }, // 在使用函数防抖后,设置 key 后,不更新组件了,导致SearchLabel 不更新 #1865 updateSearchLabel () { - this.searchLabel = this.$el.innerHTML; + this.searchLabel = this.$el.textContent; } }, mounted () { diff --git a/test/unit/specs/select.spec.js b/test/unit/specs/select.spec.js index 77daf0d6..cced6e6c 100644 --- a/test/unit/specs/select.spec.js +++ b/test/unit/specs/select.spec.js @@ -77,6 +77,27 @@ describe('Select.vue', () => { }); }); + it('should display normal characters in input when in filterable mode', done => { + vm = createVue({ + template: ` + + `, + data() { + return { + value: 2, + options: [{value: 1, label: '> 100$'}, {value: 2, label: '< 100$'}] + }; + } + }); + vm.$nextTick(() => { + const input = vm.$el.querySelector('.ivu-select-input'); + expect(input.value).to.equal('< 100$'); + done(); + }); + }); + it('should use the value\'s label instead of placeholder when both are set', done => { vm = createVue({ template: `