【问题标题】:Ionic Text color change onclick离子文本颜色变化onclick
【发布时间】:2019-12-01 16:03:34
【问题描述】:

我是 Ionic 3 的初学者。

我有 4 个相同颜色的文本,当我点击 4 个文本时,我想更改颜色。

示例
我单击第一个文本,然后我想将其更改为黑色 我点击文本 2,然后我想更改黑色,并将第一个文本设置为默认颜色,

请帮我解决这个问题

    <div class="row">
      <div  class="col right-border">
        <div  text-center>
          <h2 class="main-one" >$ 2,300</h2> <p class="main-txt-home">Today's Revenue</p>
        </div>
      </div>
      <div  class="col bottom-border">
        <div text-center>
          <h2  class="main-one">$ 53,100</h2><p class="main-txt-home">Expected Revenue for this month</p>
        </div>
      </div>
    </div>
    <div class="row">
      <div  class="col top-border">
        <div  text-center>
          <h2  class="main-one">12</h2><p class="main-txt-home"> Bookings taken today</p>
        </div>
      </div>
      <div class="col left-border">
        <div  text-center>
          <h2  class="main-one">68%</h2><p class="main-txt-home">Total Monthly occupancy</p>
        </div>
      </div>
    </div>
  </div>

【问题讨论】:

  • 您可以编辑您的帖子并添加您的chngcolor 功能吗?你确定你使用的是 Ionic 3 吗?如果是,它应该是(click) 而不是ng-click

标签: ionic-framework ionic3


【解决方案1】:

您可以使用 [ngClass] 属性来实现这一点。这可用于根据最后点击的文本动态返回类名。代码如下所示。

 <div class="row">
  <div  class="col right-border">
    <div  text-center [ngClass]="getTextColor('text1')" (click)="setSelectedText('text1')">
      <h2 class="main-one" >$ 2,300</h2> <p class="main-txt-home">Today's Revenue</p>
    </div>
  </div>
  <div  class="col bottom-border">
    <div text-center [ngClass]="getTextColor('text2')"  (click)="setSelectedText('text2')">
      <h2  class="main-one">$ 53,100</h2><p class="main-txt-home">Expected Revenue for this month</p>
    </div>
  </div>
</div>
<div class="row">
  <div  class="col top-border">
    <div  text-center [ngClass]="getTextColor('text3')"  (click)="setSelectedText('text3')">
      <h2  class="main-one">12</h2><p class="main-txt-home"> Bookings taken today</p>
    </div>
  </div>
  <div class="col left-border">
    <div  text-center>
      <h2  class="main-one">68%</h2><p class="main-txt-home">Total Monthly occupancy</p>
    </div>
  </div>
</div>

在控制器中

 private selecteTextId :string;

 setSelectedText(textId:string) {
     this.selecteTextId = textId;
 }

 getTextColor(textId:string):string{
   return this.selecteTextId == textId? "highlight-color" : "";
 }

在scss文件中

.highlight-color {
  color:blue;
}

【讨论】:

  • 先生,我不清楚,请您申请我的代码
  • 您是否覆盖了 scss 类 main-one 和 main-txt-home 中的颜色属性?那么这可能就是原因。
猜你喜欢
  • 1970-01-01
  • 2014-09-14
  • 2016-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-26
相关资源
最近更新 更多