Вместо (change)
используйте (dateInput)
и (dateChange)
, как в приведенном вами примере, и пропускайте только $event
. Также в вашем MY_FORMATS
убедитесь, что ваш parse: { dateInput:
имеет тот же формат, что и вы display: { dateInput:
.
Итак:
parse: {
dateInput: 'MMMM/YYYY',
},
Если они не похожи друг на друга, это означает, что пользователь вводит дату в определенном формате, но дисплей ожидает другой формат, поэтому вам нужно изменить ввод пользователя в onChangeEvent
, чтобы он соответствовал формату дисплея.
Я предполагаю, что вы просто хотите, чтобы пользователь придерживался отображаемого формата, поэтому просто сделайте их похожими в вашем MY_FORMATS
Для отражения изменений я бы также использовал [(ngModel)]
вместо значения. Или оставьте [value]
, но используйте другое значение, чтобы присвоить onChangeEvent
и отобразить в вашем шаблоне
Вот рабочий пример
Дайте мне знать, если это поможет:)