Этот элемент ввода является виджетом Datepicker. Значение свойства даты, например, «09/09/1999» загружается в представление шаблона, а в календаре Datepicker выбирается та же дата, работает должным образом. Привязка компонента к шаблону в порядке.
Но когда я меняю дату в интерактивном календаре Datepicker, выбранная дата отображается в поле ввода, но свойство даты в компоненте не обновляется. И когда я использую (ngSubmit) = 'search (form.value)', значение form.date объекта формы такое же, как и раньше.
--template---
<form #form='ngForm' (ngSubmit)='search(form.value)'>
<input type="text" id="datepicker" [(ngModel)]="date" name="date">
<button type="submit"> click </button>
</form>
--component---
export class AppComponent {
public date = "09/09/1999";
search(form: any) {
console.log("date:" + form.date); // date:
}
}
Да, я могу использовать локальную переменную шаблона #date для передачи входного значения компоненту, например (ngSubmit) = "search (date.value)". Но для множественного ввода Datepicker я могу объединить значение локальных переменных и передать его параметр в search ().
Я хочу знать, почему ngModel не может отслеживать изменение ввода datepicker и как лучше всего обновить свойство компонента или form.value?