单击按钮后,离子3从ion-textarea获取文本

时间:2017-12-06 17:03:52

标签: angular typescript ionic-framework textarea ionic3

我有一个npm install babel-cli --save-dev npm install babel-preset-env --save-dev "node_modules/.bin/babel-node" --presets env server.js 用户可以在其中写一些内容,我想在点击一个按钮后得到这个文字。
这是html:

ion-textarea

<ion-row>
    <ion-item>
        <ion-textarea [(ngModel)]="myInput" (ionInput)="getItems($event)" placeholder="New Info"></ion-textarea>
    </ion-item>
</ion-row>

我已经尝试在我的.ts文件中执行此操作:

<button ion-button class="card-button" color="secondary" 
 (click)="addInfo()"> <ion-icon name="add-circle" class="icona-bottone"></ion-
 icon>Add Info</button>

但打印出“你写了getItems(textarea) { // set q to the value of the textarea var q = textarea.srcElement.value; this.textSearch = q; } addInfo(){ console.log("You wrote " + this.textSearch) } ”。将文本作为字符串并使用它的正确方法是什么?

2 个答案:

答案 0 :(得分:6)

由于您使用了双向数据绑定,因此可以执行以下操作。

html的

<ion-row>
    <ion-item>
        <ion-textarea [(ngModel)]="myInput" placeholder="New Info"></ion-textarea>
    </ion-item>
</ion-row>

.TS

console.log(this.myInput);//this is your textarea value

答案 1 :(得分:-2)

否则,通过监听键盘事件还有另一种方法:

.html

<ion-row>
  <ion-item>
    <ion-textarea (keyup)="getMyInput($event)" placeholder="New Info"> 
    </iontextarea>
   </ion-item>
</ion-row>
<ion-row *ngIf="buttonMyInput == true">
    <ion-button (click)="sendInput()">
      Enregistrer
    </ion-button>
 </ion-row>

.ts

myInput : string;
buttonMyInput = false;

getMyInput(event){
  this.myInput = event.target.value
  buttonMyInput = true
}

sendInput(){
 buttonMyInput = false
  console.log(this.myInput)
 alert(this.myInput)
}

由于使用了Ionic,因此可以将(keyChange)替换为(ionChange)