В представлении списка у меня происходит два события: событие касания и событие длинного нажатия, но длинное нажатие вызывает оба.
Внутри файла .html:
<ListView class="listViewContainer" [items]="contactList">
<ng-template let-item="item" let-i="index">
<StackLayout
(loaded)="loaded($event)"
orientation="horizontal"
class="preview-info-container"
>
</StackLayout>
</ng-template>
</ListView>
А затем файл .ts
loaded(args) {
const element = args.object;
element.on("loaded, tap, longPress", (args) => {
// console.log("Event: " + args.eventName + ", sender: " + args.object);
if(args.eventName === "tap") {
this.router.navigate(["card/contact/" + this.contact.id]);
} else {
this.togglePreviewOptions = !this.togglePreviewOptions;
}
});
}
У меня вопрос, как я могу предотвратить запуск события касания при длительном нажатии на определенное поле?
Это может быть повторяющаяся проблема NativeScript tap & longPress вместе не работают , однако, поскольку не было четкого ответа, я хотел бы поднять его снова.
Редактировать
Еще немного информации:
Версия проекта tns
$ tns --version 4.3.0-2018-08-31-12160
Глобальная версия нативного сценария
nativescript@4.3.0-2018-08-31-12160
Версия эмулятора:
Iphone 6, iOS 11.3