Merge pull request #2263 from Kingwl/input-resize

Input: support resize prop
pull/2274/head
baiyaaaaa 2017-01-06 18:47:52 +08:00 committed by GitHub
commit 3820ec03bb
4 changed files with 12 additions and 3 deletions

View File

@ -565,6 +565,7 @@ Search data from server-side.
|name | same as `name` in native input | string | — | — | |name | same as `name` in native input | string | — | — |
|max | same as `max` in native input | * | — | — | |max | same as `max` in native input | * | — | — |
|min | same as `min` in native input | * | — | — | |min | same as `min` in native input | * | — | — |
|resize| control the resizability | string | none, both, horizontal, vertical | — |
|autofocus | same as `autofocus` in native input | boolean | — | false | |autofocus | same as `autofocus` in native input | boolean | — | false |
|form | same as `form` in native input | string | — | — | |form | same as `form` in native input | string | — | — |

View File

@ -728,6 +728,7 @@ export default {
| name | 原生属性 | string | — | — | | name | 原生属性 | string | — | — |
| max | 原生属性,设置最大值 | * | — | — | | max | 原生属性,设置最大值 | * | — | — |
| min | 原生属性,设置最小值 | * | — | — | | min | 原生属性,设置最小值 | * | — | — |
| resize | 控制是否能被用户缩放 | string | none, both, horizontal, vertical | — |
| autofocus | 原生属性,自动获取焦点 | boolean | true, false | false | | autofocus | 原生属性,自动获取焦点 | boolean | true, false | false |
| form | 原生属性 | string | — | — | | form | 原生属性 | string | — | — |

View File

@ -1,3 +1,5 @@
import merge from 'element-ui/src/utils/merge';
let hiddenTextarea; let hiddenTextarea;
const HIDDEN_STYLE = ` const HIDDEN_STYLE = `
@ -53,7 +55,8 @@ function calculateNodeStyling(node) {
export default function calcTextareaHeight( export default function calcTextareaHeight(
targetNode, targetNode,
minRows = null, minRows = null,
maxRows = null maxRows = null,
options = null
) { ) {
if (!hiddenTextarea) { if (!hiddenTextarea) {
hiddenTextarea = document.createElement('textarea'); hiddenTextarea = document.createElement('textarea');
@ -96,5 +99,5 @@ export default function calcTextareaHeight(
height = Math.min(maxHeight, height); height = Math.min(maxHeight, height);
} }
return { height: height + 'px'}; return merge({ height: height + 'px'}, options);
}; };

View File

@ -88,6 +88,7 @@
value: [String, Number], value: [String, Number],
placeholder: String, placeholder: String,
size: String, size: String,
resize: String,
readonly: Boolean, readonly: Boolean,
autofocus: Boolean, autofocus: Boolean,
icon: String, icon: String,
@ -149,7 +150,10 @@
const minRows = autosize.minRows; const minRows = autosize.minRows;
const maxRows = autosize.maxRows; const maxRows = autosize.maxRows;
this.textareaStyle = calcTextareaHeight(this.$refs.textarea, minRows, maxRows); const options = {
resize: this.resize
};
this.textareaStyle = calcTextareaHeight(this.$refs.textarea, minRows, maxRows, options);
}, },
handleFocus(event) { handleFocus(event) {
this.$emit('focus', event); this.$emit('focus', event);