Я хочу отобразить несколько строк, как указано в коде,
он должен получить список и отобразить его в строки, каждая строка содержит текст, значок и ...,
длявсего 40 элементов для рендеринга занимает около 2 секунд, это нормально? или я кодирую это в неправильной процедуре?
есть ли способ ускорить его?
в других постах я видел, что кто-то утверждает, что кодирование в Angular значительно улучшит скорость, верно?
IЗнайте, что 2 секунды не будет слишком много, но этот список может также содержать до 2000 элементов. для 200 предметов это занимает около 8 секунд, а для 2000 - около 40 секунд или даже вылетает!
<template>
<GridLayout
ref="bottomPanel"
class="bottomPanel"
verticalAlignment="bottom"
rows="10 ,* ,10"
columns="1 ,* ,5"
>
<Label
row=1
col=1
verticalAlignment="center"
:text="statusInfo"
class="StatusInfo"
v-if="statusInfo"
/>
<ScrollView
row=1
col=1
>
<StackLayout padding=5>
<GridLayout
v-for="( item , index ) in this.$store.state.listToShow.data"
:key="index"
class="itemBox"
columns="65,*,35,33"
rows="*"
>
<Image
col=0
row=0
class="itemAvatar"
stretch="aspectFill"
/>
<StackLayout
col=0
row=0
class="itemIconLabelBox"
verticalAlignment="center"
@tap="interactiveBoxAction( item )"
@touch="onTouch"
>
<Label
:class="'itemIcon ' + item.iconFont"
:text="String.fromCharCode( '0x' + item.icon )"
textWrap="true"
/>
</StackLayout>
<Label
row=0
col=1
class="itemTitle"
:text="item.name"
@tap="interactiveBoxAction( item )"
@touch="onTouch"
textWrap="true"
/>
</GridLayout>
</StackLayout>
</ScrollView>
</GridLayout>
</template>