2016-07-09 35 views
0

NativeScript地披露指示器我有一個這樣的結構在我NativeScript頁:上的ListView行的iOS

<ListView #listView [items]="summaryData" row="0"> 
    <Template let-item="item"> 
     <GridLayout columns="180, *, auto" rows="auto, *"> 
      <Label [text]="item.name" col="0" class="summary"></Label> 
      <Label [text]="item.value" col=1 class="summary"></Label> 
     </GridLayout> 
    </Template> 
</ListView> 

對於iOS的身邊,我想使用的表格視圖單元格的本土披露指標。我能夠通過使用下面的代碼刪除分隔線:

@ViewChild("listView") listView: ElementRef; 

ngOnInit() { 
    this.summaryData = this._summaryService.load(); 
    if (this._page.ios) { 
     let iosListView = <ListView>this.listView.nativeElement; 
     iosListView.ios.separatorStyle = 0; // Removes the separator lines. 
    } 
} 

但我似乎無法弄清楚如何才能到各行又名UITableViewCell設置accessoryType值。 NativeScript可以嗎?

回答

1

您需要訂閱ListView的itemLoading,然後在那裏更改accessoryType。所以,你的HTML應該是這樣的:

<ListView #listView [items]="summaryData" (itemLoading)="onItemLoading($event)" row="0"> 
    <Template let-item="item"> 
     <GridLayout columns="180, *, auto" rows="auto, *"> 
      <Label [text]="item.name" col="0" class="summary"></Label> 
      <Label [text]="item.value" col=1 class="summary"></Label> 
     </GridLayout> 
    </Template> 
</ListView> 

然後在您的組件有:

import {ItemEventData} from "ui/list-view"; 

onItemLoading(args: ItemEventData) { 
    if (args.ios) { 
     // args.ios is instance of UITableViewCell 
     args.ios.accessoryType = 1; // UITableViewCellAccessoryDisclosureIndicator 
    } 
} 
+0

這真是棒極了!謝謝。 – Rob