Для проекта (Nativescript- Angular) я хотел бы использовать DateTimePicker, как показано на рисунке ниже. Поскольку в Point нет компонента Nativescript, для этого я пытаюсь создать средство выбора с собственным кодом. Добавление собственного вида работает нормально, но прослушивание изменений в IOS не работает.
Мой HTML выглядит следующим образом:
<Placeholder
class="placeholder"
(creatingView)="onLoad($event)"
></Placeholder>
И мой файл машинописи выглядит примерно так:
@Component({
selector: "Home",
templateUrl: "./home.component.html",
styleUrls: ["./home.component.css"],
})
export class HomeComponent {
constructor() {}
valueChanged() {
console.log("-------- CHANGE -------");
}
onLoad(args: CreateViewEventData) {
const picker = UIDatePicker.new();
// some configuration so it displays date and time in one (not like in the Nativescript DatePicker)
picker.addTargetActionForControlEvents(
this,
"valueChanged",
UIControlEvents.ValueChanged
);
args.view = picker;
}
}
Функция addTargetActionForControlEvents
хочет, чтобы целью типа any было действие в виде строки, а controlEvent UIControlEvents - это перечисление, предоставляемое UIKit.
Когда я пробую этот код, он отображает средство выбора, и я могу выбрать дату, но я не получаю события об этих изменениях. Я посмотрел, как использовать селекторы в Nativescript, и даже посмотрел на код Nativescript для компонента DatePicker, и, насколько я могу судить, я не сделал ничего плохого. Что я пропустил?
Редактировать: С DateTimePicker я имею в виду не Пикер, указанный в Документах Nativescript. В моем примере я пропустил строки со всеми различными опциями, которые я использую