vue-textarea-autosize
Version:
Vue component provides textarea with automatically adjustable height and without any wrappers and dependencies
89 lines (64 loc) • 2.7 kB
Markdown
# vue-textarea-autosize
[ ](https://www.npmjs.com/package/vue-textarea-autosize)
[](https://vuejs.org/)
Vue component provides textarea with automatically adjustable height and without any wrappers and dependencies
# Finctionality
- `v-model` binding in parent
- min/max height limitation
- enable/disable auto resizing dynamically
Note
- You are able to handle all native events with `.native` modifier [read more](https://vuejs.org/v2/guide/components.html#Binding-Native-Events-to-Components)
- You are able to use native attrs like this `<textarea-autosize rows="1" ... />`
- There is no CSS out of the box, so you feel free to style it as you wish
# Install
Install with npm
```
npm i -S vue-textarea-autosize
```
or with yarn
```
yarn add vue-textarea-autosize
```
## Add to your app
```js
import Vue from 'vue'
import TextareaAutosize from 'vue-textarea-autosize'
Vue.use(TextareaAutosize)
```
# Usage
In components
```html
<textarea-autosize
placeholder="Type something here..."
ref="myTextarea"
v-model="value"
:min-height="30"
:max-height="350"
@blur.native="onBlurTextarea"
/>
```
Focus/blur or select content in components
```js
this.$refs.myTextarea.$el.focus()
this.$refs.myTextarea.$el.blur()
this.$refs.myTextarea.$el.select()
```
# Interface
### Props
| Props | Required | Type | Default | Description |
| ---------------- | --------- | --------------- | --------- | -------------|
| `v-model` | no | String, Number | '' | value binding |
| `value` | no | String, Number | '' | part of the `v-model` binding |
| `autosize` | no | Boolean | true | allow to enable/disable auto resizing dynamically |
| `minHeight` | no | Number | null | min textarea height |
| `maxHeight` | no | Number | null | max textarea height |
| `important` | no | Boolean, Array | false | Force !important for style properties e.g. when using [http://cleanslatecss.com/](http://cleanslatecss.com/). Allowed values: `true`, `false`, all or some of `['resize', 'overflow', 'height']`|
### Events
| Name | Params | Description |
| ----------|:---------|--------------|
| input | value | fires on textarea content changed. part of the `v-model` binding. [read more](https://vuejs.org/v2/guide/components.html#Form-Input-Components-using-Custom-Events) |
### Slots
There are no slots available
---
## License
[MIT](http://opensource.org/licenses/MIT)