Angular: Как изменить тип ввода = значение даты

Я сталкивался с этим и нашел много решений, но ни одно не соответствует моей проблеме.

<input type="date" #evtDate required name="evtDate" placeholder="Select Event Date" id="evtDate" formControlName="eventDate">

Это отображается в браузере как:

Я хочу показать строковый заполнитель здесь, что-то вроде:

Я добился этого с помощью CSS, как,

input[type="date"]::before {
  content: attr(placeholder);
  width: 100%;
}
input[type="date"]:focus::before,
input[type="date"]:valid::before { display: none }

Эта часть имеет проблему здесь, когда я нажимаю на иконку даты, ввод даты снова меняется на нормальный формат, например:

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

// input[type="date"]:focus::before,
   // input[type="date"]:valid::before { display: none }

Я также проверил, что существует некоторый динамический HTML, созданный для этого ввода type="data", и его необходимо сохранить, чтобы данные были установлены в этом формате.

Кто-нибудь может подсказать, пожалуйста, как это можно сделать? Заранее спасибо!

2 ответа

Вы можете попробовать этот код

<input type="text" placeholder="Date" onfocus="(this.type='date')"/>
onfocus="(this.type='date')" onblur="(this.type='text')"

HTML<------>
  <div">
    <label for="date">Date : </label>
    <input placeholder="Your Date" class="form-control" type="text" onfocus=" . 
    (this.type='date')" onblur="(this.type='text')" id="date">
  </div>
Другие вопросы по тегам