Automatically grows and shrinks textareas based on their content. Supports both regular Angular 2 <textarea>
and Ionic 2 <ion-textarea>
controls.
npm install angular2-elastic
- Import the
ElasticModule
. - Add the directive
fz-elastic
to yourtextarea
orion-textarea
. - Watch as your textareas automatically grow and shrink depending on their content.
See the sample repo for a full reference example.
1. Import the ElasticModule
:
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms';
import { ElasticModule } from 'angular2-elastic';
import { AppComponent } from './app.component';
@NgModule({
imports: [
BrowserModule,
FormsModule,
ElasticModule
],
declarations: [
AppComponent
],
bootstrap: [ AppComponent ]
})
export class AppModule {}
2. Use the directive in your component HTML:
import { Component } from '@angular/core';
@Component({
selector: 'my-app',
template: `<textarea fz-elastic></textarea>`
})
export class AppComponent {};
That's it! Your textarea will now grow and shrink as you type.
The textarea will also respond to changes from any one or two way bindings that are setup, e.g. with [(ngModel)]
.
See the sample repo for a full reference example.
- Import the module as above.
- Use the directive on an
ion-textarea
instead:
<ion-textarea fz-elastic></ion-textarea>
Please note that Ionic changed the layout of their textarea components in 2.0.0-rc.5. As a result, please ensure you upgrade to v0.13.0 or later of this library if you upgrade to Ionic 2.0.0-rc.5 or above.
MIT
Heavily inspired by the following: