Nativecript-Vue アプリで RadListView を使用しています。iOS では、リスト ビューを操作した後のある時点で、要素が移動し始め、レイアウトが崩れます。
リスト ビューのデータ ソースに ObservableArray を使用しています。最初は、LongPress でリスト ビューのアイテムを展開していましたが、選択したアイテムの上にあるアイテムだけが影響を受けるように見えました。アイテムのサイズが変化し、すでに描画されているアイテムに影響を与えることに関係があるのではないかと考えました。ただし、単純にスクロールしてより多くのデータをフェッチすると、同様に発生するため、意味がありません。レンダリングの労力を最小限に抑えるために単純なタグを使用してみましたが、あまり変わらないようです。と を使用tns-ios v5.4.1
してnativescript-ui-listview 7.0.2
います。
ここに私の RadListView 宣言があります:
<RadListView ref="listView" for="item in itemList" layout="linear" loadOnDemandMode="Auto" orientation="vertical" pullToRefresh="true" swipeActions="true" :itemTemplateSelector="templateSelector" @itemSwipeProgressStarted="onSwipeStarted" @itemTap="onTap"
@loadMoreDataRequested="onLoadMoreData" @pullToRefreshInitiated="onPullToRefresh">
<v-template name="normal">
<GridLayout class="px-4 bg-white border-gray-350 border-b" columns="3*, 10*, 3*">
<AbsoluteLayout class="w-full h-full my-4" col="0">
<activix-wrapped-icon class="p-3" width="64" height="64" background-color="bg-gray-600" icon-size="text-3xl" :icon-name="getLeadTypeIcon(item.lead_type_id)" />
</AbsoluteLayout>
<FlexboxLayout verticalAlignment="center" flexDirection="column" class="mx-4" col="1">
<Label class="font-semibold" fontSize="16" :text="item.name" />
<StackLayout class="mt-1" orientation="horizontal">
<activix-icon name="car" />
<Label class="ml-2" fontSize="16" :text="item.wanted_vehicle_text" />
</StackLayout>
</FlexboxLayout>
<FlexboxLayout justifyContent="flex-end" verticalAlignment="center" col="2">
<FlexboxLayout alignItems="center" justifyContent="center" height="24" width="24" class="rounded-sm" :class="getResultColor(item.result_normalized)">
<Label class="font-bold text-white uppercase" fontSize="12" :text="getResultSymbol(item.result_normalized)" />
</FlexboxLayout>
<activix-icon class="ml-4 text-2xl" name="arrow-right" />
</FlexboxLayout>
</GridLayout>
</v-template>
</RadListView>
レイアウトの要素は、スクロールしても移動したり残りのコンテンツに重なったりせず、そのままの場所にとどまることが期待されます。RadListView のスワイプや長押しなどのジェスチャを活用したかったのですが、基本的な動作に問題があります。どんな助けでも大歓迎です!