【问题标题】:How to change icon when selected选择时如何更改图标
【发布时间】:2019-01-10 09:21:59
【问题描述】:

一个简单的问题,但我不知道是否可能。单击时可以更改图标吗?在这种情况下,我的图标是灰色的,我希望它在单击时变为蓝色,但在我的代码中很难做到这一点,所以我想知道我是否可以在单击时更改为另一个图标,我会然后把另一个图标用蓝色。虽然还在学习ionic,那么有很多疑惑。感谢任何可以帮助我的人!

 <div no-padding>
<ion-segment [(ngModel)]="Menu" class="SwipedTabs-tabs">

  <ion-segment-button (click)="selectTab(0)">
    <ion-icon name="icon-ico_gastronomia_off"></ion-icon>
  </ion-segment-button>

【问题讨论】:

  • 您的图标是否通过更改ion-iconname 而改变?
  • 是的。我正在使用自定义图标。

标签: html angular cordova ionic-framework ionic3


【解决方案1】:

您应该能够绑定 attr 名称并通过 Angular [] 更改它 - 这代表一种方式数据绑定;

html

<ion-icon [name]="toShowIcon"></ion-icon>

ts

toShowIcon = 'icon-ico_gastronomia_off';

然后点击更改它;

如果您只想更改一次图标并坚持使用它icona&gt; iconb 使用此代码;

selectTab() {
  this.toShowIcon = 'your_new_icon_name';
}

如果您想单击以切换图标。 icona &gt; iconb 然后从iconb &gt; icona 使用这个;

selectTab() {
  if (this.toShowIcon === 'icon-ico_gastronomia_off') {
    this.toShowIcon = 'your_new_icon_name';
  } else {
    this.toShowIcon = 'icon-ico_gastronomia_off';
  }
}

注意:您也可以为多个图标执行此操作。您只需要添加逻辑即可。

【讨论】:

  • 感谢您回答我。但我仍然没有希望。我的 SelectTab 已经有一些项目。我将向您展示它的完整代码,以便您查看是否有任何问题。
【解决方案2】:
selectTab(index) {    
this.SwipedTabsIndicator.style.webkitTransform = 'translate3d('+(100*index)+'%,0,0)';
this.SwipedTabsSlider.slideTo(index, 500);
// *** changes made only onces;
this.toShowIcon = 'icon-ico_estadia_off';

// *** toggle change
if (this.toShowIcon === 'icon-ico_gastronomia_off') {
    this.toShowIcon = 'icon-ico_estadia_off';
} else {
    this.toShowIcon = 'icon-ico_gastronomia_off';
}

}

HTML&lt;ion-icon [name]="toShowIcon"&gt;&lt;/ion-icon&gt;

ts

@ViewChild('SwipedTabsSlider') SwipedTabsSlider: Slides;

SwipedTabsIndicator: any = null;
tabs: any = [];
toShowIcon = 'icon-ico_gastronomia_off';

enter code here

【讨论】:

  • 删除// *** changes made only onces; this.toShowIcon = 'icon-ico_estadia_off'; 并重试。您添加了两个版本。只选一个。
  • 我终于明白了!非常感谢你做的这些!非常感谢:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-02-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-16
  • 2021-12-14
  • 2019-07-15
相关资源
最近更新 更多