diff --git a/packages/input/src/calcTextareaHeight.js b/packages/input/src/calcTextareaHeight.js
index bf2189d18..18751c630 100644
--- a/packages/input/src/calcTextareaHeight.js
+++ b/packages/input/src/calcTextareaHeight.js
@@ -52,7 +52,7 @@ function calculateNodeStyling(targetElement) {
export default function calcTextareaHeight(
targetElement,
- minRows = null,
+ minRows = 1,
maxRows = null
) {
if (!hiddenTextarea) {
@@ -71,6 +71,7 @@ export default function calcTextareaHeight(
hiddenTextarea.value = targetElement.value || targetElement.placeholder || '';
let height = hiddenTextarea.scrollHeight;
+ const result = {};
if (boxSizing === 'border-box') {
height = height + borderSize;
@@ -87,6 +88,7 @@ export default function calcTextareaHeight(
minHeight = minHeight + paddingSize + borderSize;
}
height = Math.max(minHeight, height);
+ result.minHeight = `${ minHeight }px`;
}
if (maxRows !== null) {
let maxHeight = singleRowHeight * maxRows;
@@ -95,6 +97,7 @@ export default function calcTextareaHeight(
}
height = Math.min(maxHeight, height);
}
+ result.height = `${ height }px`;
- return { height: height + 'px'};
+ return result;
};
diff --git a/packages/input/src/input.vue b/packages/input/src/input.vue
index 88f01e806..b441e577a 100644
--- a/packages/input/src/input.vue
+++ b/packages/input/src/input.vue
@@ -141,7 +141,13 @@
resizeTextarea() {
if (this.$isServer) return;
var { autosize, type } = this;
- if (!autosize || type !== 'textarea') return;
+ if (type !== 'textarea') return;
+ if (!autosize) {
+ this.textareaCalcStyle = {
+ minHeight: calcTextareaHeight(this.$refs.textarea).minHeight
+ };
+ return;
+ }
const minRows = autosize.minRows;
const maxRows = autosize.maxRows;
diff --git a/packages/message-box/src/main.vue b/packages/message-box/src/main.vue
index f28e81459..0a285bfd3 100644
--- a/packages/message-box/src/main.vue
+++ b/packages/message-box/src/main.vue
@@ -15,7 +15,14 @@
{{ message }}