【问题标题】:On specific button click add a class in ionic 3在特定按钮上单击在 ionic 3 中添加一个类
【发布时间】:2019-03-21 19:37:30
【问题描述】:

我有一种情况,我有多个记录,并且我在那个 *ngFor 循环中使用过,所以每条记录都有一个按钮,我想做的是 onclick 更改按钮的背景,使其看起来像点击了

<div class="main" *ngFor="let data of fetched_info; let i=index">
    <ion-grid no-padding no-margin>
        <ion-row no-padding no-margin class="row">
            <ion-col col-4 no-padding no-margin> 
                <button ion-button small icon-start color="secondary"
outline (click)="shortlist($event,data[i].username)" class="">
                    <ion-icon ios="ios-star-outline" md="md-star-outline"></ion-icon>
                    Shortlist
                </button>
            </ion-col>

        </ion-row>
    </ion-grid>
</div>

onclick of shortlist() 函数我想实现它

【问题讨论】:

    标签: angular ionic-framework ionic3


    【解决方案1】:

    你可以这样试试

    HTML

    <div class="main" *ngFor="let data of fetched_info; let i=index">
     <ion-grid no-padding no-margin>
         <ion-row no-padding no-margin [ngClass]="backgroundColorFlag[i] == true ? 'backgroundColorClass' : 'backgroundColorNormalClass' " class="row">
           <ion-col col-4 no-padding no-margin> 
             <button ion-button small icon-start color="secondary"
               outline (click)="shortlist($event,data[i].username, i)" class="">
               <ion-icon ios="ios-star-outline" md="md-star-outline"></ion-icon>
                Shortlist
             </button>
           </ion-col>
         </ion-row>
     </ion-grid>
    </div>
    

    TS

        backgroundColorFlag: any[] = [];
        shortlist(data, i) {
          this.backgroundColorFlag[i] != backgroundColorFlag;
        }
        functionWhichHavefetched_info() {
         for (let i = 0; i < fetched_info.length; i++) {
               this.backgroundColorFlag[i] = false // default we are setting value false and on click we set this flag value true
          }
        }
    

    您需要创建一个像这样的 backgroundColorClassbackgroundColorNormalClass 类,并使用标志 backgroundColorFlag 添加或删除类,希望对您有所帮助出去

    【讨论】:

    • 不,这没有帮助..如果我有 10 个按钮,因此它将应用于所有按钮,我只想将其应用于单击的一个按钮
    • 嘿,我只是编辑答案我创建了一个标志数组,该数组的长度与 fetched_info 数组的长度相同,请检查我更新的答案
    • 我正要这样做,你在这里提到它......好吧,让我试试这个
    • 是的,当然 :) 让我知道它是否有效 :) 如果可以,请接受我的回答
    • 是的,它的工作原理。只需一次编辑 this.backgroundColorFlag[i] != this.backgroundColorFlag;
    猜你喜欢
    • 2017-11-25
    • 2019-03-12
    • 1970-01-01
    • 2020-01-18
    • 1970-01-01
    • 2017-07-20
    • 1970-01-01
    • 1970-01-01
    • 2011-08-16
    相关资源
    最近更新 更多