Атрибут Disabled добавляется в текстовое поле ввода, когда он не соответствует действительности в приложении angular 7 - PullRequest
0 голосов
/ 01 августа 2020

В моем приложении angular7 я отключаю поле ввода текста (выбор даты) на основе переменной флага, но когда моя форма визуализировала его отключение автоматически, даже мой флаг ложный.

HTML:

 <input type="text"
 [placeholder]="placeholderDateText"
[(ngModel)]="DepartureTime"
#DepartureTime="ngModel"
name="DepartureTime"
ngModel [owlDateTime]="DepartureDateTime"
[min]="minDate"
(keyup.tab)="DepartureDateTime.open()"
(click)="DepartureDateTime.open()"
[disabled]="disableDepartTime"
(ngModelChange)="emitDepartTime()"
[required]="requirrDepartTime" />

<span (click)="DepartureDateTime.open()">
   <i class="icon icon-Calendar"></i>
</span>
<owl-date-time #DepartureDateTime  [hour12Timer]="hour12Timer"
  [startAt]="DepartureTime || startAt" [panelClass]="'owldtcalpanel'">
</owl-date-time>

После рендеринга в браузере:

<input _ngcontent-c17="" name="DepartureTime" ngmodel="" type="text" ng-reflect-required="false" ng-reflect-owl-date-time="[object Object]" ng-reflect-min="Wed Mar 15 1978 20:30:00 GMT+0" ng-reflect-name="DepartureTime" placeholder="MM/DD/YYYY HH:MM" aria-haspopup="true" min="1978-03-15T20:30:00+05:30" class="ng-pristine ng-touched" disabled="">

Вы можете заметить, что disabled = "" добавлено, даже если мой флаг был ложным.

Я пробовал использовать также disabled = "{{disableDepartTime? DisableDepartTime: undefined}}" или [attr.disabled] = "disableDepartTime"

Пожалуйста, дайте мне знать, в чем может быть причина и какое альтернативное решение по этому вопросу.

...