web-dev-qa-db-ja.com

Ionic 3 textarea ngModelとデフォルト値の使用方法は?

私はionicで新しく、textareaに問題があります。これは私のコードです。

_<textarea  [(ngModel)]="userData.aboutme" name="" id="" cols="30" rows="20"  
    value="{{ about_me}}" style="width:100%; padding: 10px; margin-top: 3px;" > 
</textarea>
_

問題は、値がtextarea内に表示されないことです。 [(ngModel)]を削除した場合にのみ表示されます。私はこのおかげで多くの助けが必要です

5
Amelie Perrin

ion-textareaを使用する必要があります。

注:これは一例であり、必要に応じて調整してください。

機能 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) {

  }

ion-textareaに関する公式ドキュメント

8
Sampath

.htmlのion-textarea

 <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>

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";
  }
 }

そして、あなたは行ってもいいです!

0
Moses Mwicigi