2016-04-20 3 views
0

В ListView, ItemTap Событие не работает.NativeScript, в ListView, событие ItemTap не работает

<ListView items="{{ menu }}" row="1" itemTap="listViewItemTap" > 
     <ListView.itemTemplate> 
     <GridLayout columns="auto, *"> 
      <Image src="{{ imageURL }}" row="0" cssClass="icon"/> 
      <StackLayout col="1"> 
      <Label text="{{ title }}" cssClass="name"/> 
      <Label text="{{ subtitle }}" cssClass="location"/> 
      </StackLayout> 
     </GridLayout> 
     </ListView.itemTemplate> 
</ListView> 
+0

Здравствуйте, предоставьте код, в котором вы экспортировали функцию itemTap. В системе проблем я опубликовал простой пример этой функции. https://github.com/NativeScript/NativeScript/issues/1995 –

ответ

2

Вы можете убедиться, что у вас есть listViewItemTap экспортированный в вашем коде. Я попробовал следующее и, кажется, работает OK:

XML:

<Page xmlns="http://schemas.nativescript.org/tns.xsd" navigatingTo="onNavigatingTo"> 
    <ListView items="{{ menu }}" row="1" itemTap="listViewItemTap" > 
    <ListView.itemTemplate> 
     <GridLayout columns="auto, *"> 
     <Image src="{{ imageURL }}" row="0" cssClass="icon"/> 
     <StackLayout col="1"> 
      <Label text="{{ title }}" cssClass="name"/> 
      <Label text="{{ subtitle }}" cssClass="location"/> 
     </StackLayout> 
     </GridLayout> 
    </ListView.itemTemplate> 
    </ListView> 
</Page> 

JS:

exports.onNavigatingTo = function(args) { 
    var page = args.object; 
    page.bindingContext = { 
     menu:[ 
      { imageUrl: "", title: "title 1", subtitle: "subtitle 1"}, 
      { imageUrl: "", title: "title 2", subtitle: "subtitle 2"}, 
      { imageUrl: "", title: "title 3", subtitle: "subtitle 3"}, 
      { imageUrl: "", title: "title 4", subtitle: "subtitle 4"}, 
     ] 
    } 
} 

exports.listViewItemTap = function() { 
    console.log("Item tapped!"); 
} 

Также одна вещь, чтобы искать:

  • Если вы не являются, используя привязку для события itemTap (как в XML вы p osted) - вы должны предоставить обработчик события в коде для страницы.
  • Если вы :, используя привязку (itemTap="{{ listViewItemTap }}"), вы должны предоставить обработчик события в вашем объекте bindingContext.
+0

Спасибо. Этот образец работает. На что я хочу помнить, я включил плагин pulltorefresh в нашем проекте, чтобы я хотел проверить, почему он не работает ?. –

Смежные вопросы