Je suis nouveau dans ionic et j'ai un problème avec textarea . C'est mon code:
<textarea [(ngModel)]="userData.aboutme" name="" id="" cols="30" rows="20"
value="{{ about_me}}" style="width:100%; padding: 10px; margin-top: 3px;" >
</textarea>
Le problème est que la valeur ne s'affiche pas dans textarea. C'est afficher uniquement si je supprime le [(ngModel)]
. J'ai besoin d'aide pour cela, merci beaucoup
Vous devez utiliser ion-textarea
.
Note: Ceci est juste un exemple. Ajustez-le comme vous le souhaitez.
Travailler stackblitz
html
<ion-item>
<ion-textarea placeholder="Tap here"
[(ngModel)]="note" name="note" autocomplete="on" autocorrect="on"></ion-textarea>
</ion-item>
.ts
note: string = "My Default Text";
constructor(public navCtrl: NavController) {
}
sur ion-textarea sur .html
<ion-item>
<ion-label floating>Content</ion-label>
<ion-textarea #myInput id="myInput" rows="1" maxLength="500"
(keyup)="adjust()" [(ngModel)]="text.content"></ion-textarea>
</ion-item>
Fichier On.ts,
import { Directive, HostListener, ElementRef } from '@angular/core';
@IonicPage()
@Component({
selector: 'page-post-text',
templateUrl: 'post-text.html',
})
@Directive({
selector: 'ion-textarea[autosize]' // Attribute selector,
})
export class PostTextPage {
@HostListener('document:keydown.enter', ['$event'])
onKeydownHandler(evt: KeyboardEvent) {
this.adjust()
}
Text = {} as Text;
constructor(public element:ElementRef) {}
ngAfterViewInit(){
this.adjust()
}
adjust():void {
let textArea =
this.element.nativeElement.getElementsByTagName('textarea')[0];
textArea.style.overflow = 'hidden';
textArea.style.height = 'auto';
textArea.style.height = (textArea.scrollHeight + 32) + "px";
}
}
Et vous êtes prêt à partir!