Троичный оператор на атрибуте формы не работает

Я пытаюсь добавить троичное условие shape который является значком типа shape="success-standard" - в shape="name.active ? 'success-standard' : 'times-circle'" вот где я пытаюсь добавить условие для типа значка. и использование директивы [shape] не работает

<clr-dg-row class="man-rcs" *ngFor="let name of visibleNames">
  <clr-dg-cell (click)="handleRowClick(name)" class="tac">
    <clr-icon size="18" shape="name.active ? 'success-standard' : 'times-circle'">
    </clr-icon>
  </clr-dg-cell>
</clr-dg-row>
Обычно я делал бы это так, но это не то, что я ищу в этом случае.
<clr-dg-cell class="tac">
  <clr-icon size="18" *ngIf="name?.active" shape="success-standard" class="is-solid is-success"></clr-icon>
  <clr-icon size="18" *ngIf="!name?.active" shape="times-circle" class="is-solid is-danger"></clr-icon>
</clr-dg-cell>

2 ответа

Вам нужно привязать атрибут формы, как это. Иконки - это наши веб-компоненты, поэтому вы должны использовать этот другой подход.

[attr.shape]=“name.active ? ‘success-standard’ : ‘times-circle’”

См. Как я могу динамически изменить форму пользовательского элемента clr-icon? Больше подробностей.

Попробуйте этот код ниже

<clr-icon size="18" shape="{{name.active == true ? 'success-standard' : 'times-circle'}}">

Или же

<clr-icon size="18" shape="(name?.active == true ? 'success-standard' : 'times-circle')">

Надеюсь, что первый код будет работать

Другие вопросы по тегам