我可能會遵循一個關於pluralsight的課程,而且我遇到了一個奇怪的問題。 我的列表視圖只顯示第一個元素,沒有其他東西。 這很奇怪,我之前使用的列表視圖沒有問題,所以我不知道錯誤來自哪裏。Nativescript ListView只顯示一個項目
佈局:
<Page xmlns="http://schemas.nativescript.org/tns.xsd"
loaded="pageLoaded">
<GridLayout rows="auto, *">
<!-- Header -->
<StackLayout cssClass="page-header">
<Label text="Header" cssClass="page-title bold" horizontalAlignment="center" margin="15"/>
</StackLayout>
<!-- Sessions Views -->
<GridLayout rows="auto, *" row="1">
<ListView items="{{ sessions }}">
<ListView.itemTemplate>
<Label text="{{ title }}"/>
</ListView.itemTemplate>
</ListView>
</GridLayout>
</GridLayout>
</Page>
打字稿:
import { EventData, Observable } from "data/observable";
import { Page } from "ui/page";
var page: Page;
var tempSessions = [
{
id: '0',
title: "Stuff"
},
{
id: '1',
title: "Stuffly"
},
{
id: '2',
title: "Stufferrs"
},
{
id: '3',
title: "Event 4"
}
];
export function pageLoaded(args: EventData){
console.log(JSON.stringify(tempSessions));
page = <Page>args.object;
page.bindingContext = new Observable({
sessions: tempSessions
});
}
我懷疑是第一個列表項完全填充網格佈局然而放置一個邊框圍繞它表明,事實並非如此。
也許問題已經由於以下事實:用於第二'GridLayout'第一個參數爲它'rows'財產造成是汽車,並且將無法正確顯示'ListView'。您應該將其更改爲'*',例如''或指定ListView'height'。你也應該爲ListView指定'row'。 –