【问题标题】:Ionic color text depending on condition离子颜色文本取决于条件
【发布时间】:2020-07-26 15:08:51
【问题描述】:

我有一个非常临时的解决方案,可以在用户点击后在小滑块中突出显示文本。

<ion-slide *ngFor="let loopValue of values">
<div *ngIf="viewValue == loopValue">
    <b>
        {{loopValue}}
    </b>
</div>
<div *ngIf="viewValue != loopValue">
    {{loopValue}}
</div>
</ion-slide>

在这里,我通过将幻灯片内容包装到 粗体 括号中来突出显示所选内容。但是,我更希望字体是离子定义的 primarysecondary 颜色以突出显示用户点击。怎么样?

【问题讨论】:

    标签: css angular ionic-framework ionic3


    【解决方案1】:

    离子 4
    您可以使用ion-text 标记的颜色属性。然后你的代码可能看起来像这样:

    <ion-slide *ngFor="let loopValue of values">
      <ion-text [color]="viewValue == loopValue ? 'primary' : 'light'">
       {{loopValue}}
      </ion-text>
    </ion-slide>
    



    离子 3
    因为没有 ion-text 标签,所以您应该改用 ion-item
    这是一个例子(也在stackblitz上创建了一个):

    <ion-slides>
      <ion-slide *ngFor="let loopValue of values">
        <ion-item [color]="viewValue == loopValue ? 'primary' : 'light'">
          {{loopValue}}
        </ion-item>
      </ion-slide>
    </ion-slides>
    

    这样,您不必使用*ngIf 复制整个标签。相反,ion-text 的颜色取决于 color-property 中的三元运算符。

    【讨论】:

    • 谢谢。您的意思是用ion-text 替换div 吗?因为上面的代码失败了。
    • ion-text 不是已知元素
    • 抱歉。似乎该标签刚刚添加到 ionic 4 中。您有答案吗,否则我将在今天晚些时候进行调查。
    • 我已经在上面更改了答案。认为第二部分应该适合您的需求! @ElDude
    • 颜色名称是'light'。 NM 并感谢上面的代码。
    猜你喜欢
    • 2016-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-25
    相关资源
    最近更新 更多