From 97c54d7f1324b3908dc295d0bdb285f36da59d9f Mon Sep 17 00:00:00 2001 From: Yao Date: Fri, 18 Aug 2017 16:47:15 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20field=20=E8=AE=A1=E7=AE=97autosize?= =?UTF-8?q?=EF=BC=8C=E9=9C=80=E8=A6=81nextTick=20(#78)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * textarea sizeAdjust 需要nextTick * fix field unit test --- packages/field/src/field.vue | 4 +++- test/unit/specs/field.spec.js | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/field/src/field.vue b/packages/field/src/field.vue index 4faedd9c9..1a10aafbf 100644 --- a/packages/field/src/field.vue +++ b/packages/field/src/field.vue @@ -101,7 +101,9 @@ export default { }, currentValue(val) { - if (this.autosize && this.type === 'textarea') this.sizeAdjust(); + if (this.autosize && this.type === 'textarea') { + this.$nextTick(() => this.sizeAdjust()); + } this.$emit('input', val); } }, diff --git a/test/unit/specs/field.spec.js b/test/unit/specs/field.spec.js index be6d895d1..47e8a8b7d 100644 --- a/test/unit/specs/field.spec.js +++ b/test/unit/specs/field.spec.js @@ -120,10 +120,10 @@ describe('Field', () => { textarea.trigger('input'); wrapper.update(); - wrapper.vm.$nextTick(() => { + setTimeout(() => { expect(wrapper.data().currentValue).to.equal('test'); expect(textareaElement.style.height).to.equal((textareaElement.scrollHeight - textAreaDiff) + 'px'); done(); - }); + }, 500); }); });