From e814a81b231a3a8cd2125bdf6048e5bb696625b8 Mon Sep 17 00:00:00 2001 From: chenjiajian <770230504@qq.com> Date: Thu, 13 Apr 2023 10:59:39 +0800 Subject: [PATCH] =?UTF-8?q?textarea=E6=94=AF=E6=8C=81=E5=8A=A8=E6=80=81?= =?UTF-8?q?=E9=AB=98=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/form/textarea.js | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/form/textarea.js b/src/form/textarea.js index 3c1eef7..27bc722 100644 --- a/src/form/textarea.js +++ b/src/form/textarea.js @@ -11,12 +11,13 @@ class TextArea extends Component { value: { type: String, default: '', - attributes: false + attribute: false }, type: '', autofocus: false, readOnly: false, disabled: false, + autosize: false, maxlength: null, minlength: null, 'show-limit': false, @@ -29,7 +30,7 @@ class TextArea extends Component { :host { display: flex; width: 100%; - height: 80px; + // height: 80px; user-select: none; -moz-user-select: none; color: var(--color-dark-1); @@ -53,7 +54,7 @@ class TextArea extends Component { flex: 1; min-width: 36px; width: 100%; - height: 100%; + height: auto; padding: 5px 8px; border: 0; border-radius: inherit; @@ -153,6 +154,13 @@ class TextArea extends Component { ] onInput(e) { this.value = e.target.value + if (this.autosize) { + nextTick(() => { + this.$refs.textarea.style.height = 'auto' + let height = this.$refs.textarea.scrollHeight + 'px' + this.$refs.textarea.style.height = height + }) + } } onKeydown(ev) { // console.log(ev.target)