NativeScript ListView 高度和滚动

NativeScript ListView height and scrolling

另一个 NativeScript 问题。 :)

太棒了,这里是设置:

{
    "nativescript": {
        "id": "org.nativescript.githubreader",
        "tns-ios": {
            "version": "1.7.0"
        },
        "tns-android": {
            "version": "1.7.1"
        }
    },
    "dependencies": {
        "lodash": "^4.10.0",
        "nativescript-telerik-ui": "^1.0.1",
        "tns-core-modules": "1.7.1"
    },
    "devDependencies": {
        "nativescript-dev-typescript": "^0.3.0",
        "typescript": "^1.8.9"
    }
}

问题是,当我获取数据列表时,ListView 保持相同的高度,只是弹出一个滚动条来滚动。

我正在寻找的结果是,正如 html 所做的那样,让 ListView 根据数据调整高度。因此主视图会滚动,而不是 ListView 组件本身。

如果我想要一个滚动条,我会限制 ListView 的高度在 CSS 或其他。

我希望我说的有道理。 :) 我也在 ListView 的 Telerik UI 的来源中搜索,但到目前为止没有找到任何有用的东西:(

感谢您抽出宝贵时间阅读。

如果您不需要 ListView 的所有功能,您可能需要考虑使用 ScrollView 并在内部某处安装 Repeater。像这样:

<scroll-view>
    <!-- content above your list of items, i.e. image, label, stack-layout, etc... -->
    <repeater items="navItems">
        <repeater.itemTemplate>
            <label text="{{navItemLabel}}" tap="navItemTapped" />
        </repeater.itemTemplate>
    </repeater>
</scroll-view>

如果需要,您最终可以将整个内容包裹在 <grid-layout columns="*" rows="*"> 中(1 行和 1 列,均设置为 * 以占用完整的 width/height 可用区域), 这样一来,如果内容超出该大小,整个内容就会滚动。