Проблемы с производительностью ListView в строке Grid - PullRequest
0 голосов
/ 25 апреля 2020

Я начал свой первый проект на Nativescript- vue, и есть простая проблема, которую я не понимаю.

У меня есть ListView, который является частью компоновки сетки с динамически генерируемой высотой (* ) Если я установлю высоту в значение c, ListView будет работать нормально, однако я хочу, чтобы мой ListView занимал всю оставшуюся высоту, но в этом случае он очень медленный на устройствах ios и android.

Я подготовил игровую площадку для демонстрации своей проблемы здесь: https://play.nativescript.org/?template=play-vue&id=sIEdwg

<template>
<Page>
    <GridLayout rows="auto,auto,*,auto" columns="auto">
        <GridLayout row="0" ref="navStatusBar" class="navStatusBar"
            verticalAlignment="top" height="40" width="100%" rows="auto"
            columns="auto,*,auto,auto,auto">
            <!-- some header static blocks -->
            <Label text="sample header" />
        </GridLayout>
        <GridLayout row="1" ref="navTab" class="navTab"
            verticalAlignment="top" height="50" width="100%" rows="auto"
            columns="auto,auto,auto">
            <!-- additional header blocks -->
            <Label text="additional header placeholder" />
        </GridLayout>
        <ListView for="item in jobList" class="list-group sent" row="2">
            <v-template if="item.item_type == 'job'">
                <Job :item="item"></Job>
            </v-template>
            <v-template if="item.item_type == 'date'">
                <Label class="date-block" :text="item.date"
                    textWrap="true">
                </Label>
            </v-template>
        </ListView>
        <StackLayout row="3">
            <!-- some footer here -->
            <Label text="footer placeholder" />
        </StackLayout>
    </GridLayout>
</Page>

Есть ли способ заставить ListView вести себя так, как он когда высота строки установлена ​​статически (например: ... <GridLayout rows="auto,auto,450,auto" columns="auto"> ...), но сделать так, чтобы она принимала всю оставшуюся высоту?

Спасибо

...