Если оператор else не отображает текстовое поле должным образом - PullRequest
0 голосов
/ 06 января 2020

Я сравниваю два условия здесь и пытаюсь отобразить текстовое поле на основе условия. Если две даты совпадают, и задача также совпадает, то мне нужно отобразить время, введенное в текстовое поле из базы данных, если оно уже введено, если нет, мне нужно отобразить пустое текстовое поле. Но это не работает. Может ли кто-нибудь, пожалуйста, помогите мне?

<div *ngFor="let userTimesheet of timesheet">
    <div *ngIf="(((currentSun | date:'MM/dd/yyyy') === (userTimesheet?.task_date | date:'MM/dd/yyyy')) && (user.task.task_id == userTimesheet?.task))); else notMatching " >
                <input type="text" value="{{ userTimesheet.task_totaleffort}}" formControlName="sundaytime">
    </div>
	<ng-template #notMatching>
		<input type="text" value="" formControlName="sundaytime">
	</ng-template>
</div>

1 Ответ

1 голос
/ 06 января 2020

Вы можете напрямую использовать троичный оператор в атрибуте значения input:

<div *ngFor="let userTimesheet of timesheet">
    <input 
        type="text" 
        [value]="(((currentSun | date:'MM/dd/yyyy') === (userTimesheet?.task_date | date:'MM/dd/yyyy')) && (user.task.task_id == userTimesheet?.task))) 
            ? userTimesheet.task_totaleffort : ''" 
        formControlName="sundaytime">
</div>

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