如果选中,则在 ion-textarea 中打印复选框的名称。在 IONIC 上

Print the name of a checkbox in ion-textarea if checked. on IONIC

我正在尝试在 ion-texarea 中打印选中复选框的名称。该应用程序要求输入姓名、类型(男性、女性)和描述(高、小、聪明、丑陋等),在底部有一个离子文本区域可以打印一个句子,例如 Name 流派 而 She/He 是 描述 选中的复选框。 前任。 约翰是个男人,他又高又聪明又丑

Image of the App

我的 html 代码是:

<ion-item>
      <ion-label color="primary">Genre</ion-label>
      <ion-list>
        <ion-item *ngFor="let genre of genre"> 
          <ion-label>{{genre.name}}</ion-label>
          <ion-checkbox slot="end" [(ngModel)]="genre.isChecked"></ion-checkbox>
        </ion-item>
      </ion-list>
    </ion-item>
    <ion-list-header>
    <ion-label color="primary">Descripcion</ion-label>
  </ion-list-header>
 
<div>
  <ion-col><ion-button expand="full"  (click)="gen(); result()" >Criticar</ion-button></ion-col>
  <ion-textarea [ngModel]="critica"></ion-textarea>
</div>

打字稿代码是:

export class HomePage {
nombre:string;
genero:any;
critica:any;

genre: any=[
    {name:'Masculino', isChecked: false},
    {name:'Femenino', isChecked: false}
];

gen(){
    this.genero=this.genre.filter(value => {return value.isChecked});

  result(){
    this.critica = this.genero;

我猜你还没有添加完整的代码。甚至描述值也没有消失。无论如何,我对您的代码进行了修改,以便您可以获得所检查内容的值。它可能会帮助您继续。

目前您的文本区域显示为 [object] 类输出。

尝试重构您的代码,如下所述。所以你可以得到检查的值。但是请确保在选中复选框后禁用当前部分的其他复选框。复选框。

gen() {
    this.genre.forEach(item => {
      if(item.isChecked == true){
        this.genero = item;
        return;
      }
    })
  }

  result() {
    this.critica = this.genero.name;
  }