Ищите способ присвоить значение с троичным, но без других условий - PullRequest
0 голосов
/ 29 апреля 2020

У меня есть это утверждение ниже в моем html элементе. Есть ли способ назначить только первую часть и не иметь нулевую часть. Таким образом, в основном, если условие истинно, установите значение '', иначе ничего не сделайте.

[value]="ceModal.industryId !== 'Item185' ? '' : null"

Я пытался

[value]="ceModal.industryId !== 'Item185' ?? ''"

, но это выдает ошибку

Здесь это целый входной тег

<input 
  type="text" 
  class="form-control" 
  placeholder="ex. Other industry info" 
  [(ngModel)]="ceModal.industryOther" 
  name="ceIndustryOther" 
  [disabled]="ceModal.industryId !== 'Item185'" 
  [value]="ceModal.industryId !== 'Item185' ? '' : null"
>

Ответы [ 2 ]

1 голос
/ 30 апреля 2020

пожалуйста, если используете [(ngModel)], не используйте [value] это не логика c (*), разделите [(ngModel)] на [ngModel] и (ngModelChange)

<input [ngModel]="ceModal.industryOther" 
       (ngModelChange)="ceModal.industryOther=$event==''?null:$event">

stackblitz

(*) вы говорите Angular, что значение является переменной с [ngModel], а отображаемое значение - это еще одна вещь с [value]

0 голосов
/ 29 апреля 2020

Как насчет:

<input type="text" class="form-control" placeholder="ex. Other industry info" 
       [(ngModel)]="ceModal.industryOther" name="ceIndustryOther" 
       [disabled]="ceModal.industryId !== 'Item185'" 
       [value]="ceModal.industryId !== 'Item185' ? '' : ceModal.industryOther">

Я думаю, что значение industryOther будет сохранено как есть, если ceModal.industryId !== 'Item185'. Это то, что вы хотите?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...