ngx-autosize is an Angular2+ directive that automatically adjusts textarea height to fit its content.
It adjusts the textarea height automatically to any text input, or changes to the model bound to the textarea.
- Production builds ready (AOT support)
- Works with Ionic (shadow dom of v4 too)
Check the demo here
npm install ngx-autosize
Add the declaration to your @NgModule:
IMPORTANT !!! you need to do it for every module that will be autosizing textareas ;)
import {AutosizeModule} from 'ngx-autosize';
...
@NgModule({
imports: [
AutosizeModule
]
})
Use directly inside your HTML templates
<textarea autosize class="my-textarea">
Hello, this is an example of Autosize in Angular2.
</textarea>
<ion-textarea autosize [(ngModel)]="text">
And this is Ionic2 example
</ion-textarea>
Name | Default | Type | Description |
---|---|---|---|
minRows | integer | Sets minimal amount of rows of the textarea | |
maxRows | integer | Sets maximum rows count after which autosizing if turned off and scrollbar appears | |
onlyGrow | false | boolean | Controls if autosize should make the textarea smaller. In other words... should empty lines be trimmed? |
useImportant | false | boolean | Controls if autosize should include !important in its height css styles. Should only need to be used if the height of the textarea is being overridden elsewhere |
Example
<textarea autosize [minRows]="5" [maxRows]="10">
Hello, this is an example of Autosize in Angular2.
</textarea>
This small lib is based on great http://stevepapa.com/angular2-autosize which is unfortunatelly not maintained and abandoned :(
Steve Papa Chrystian Ruminowicz
This project is licensed under the MIT license. See the LICENSE file for more info.