Skip to content

Commit 64f09e0

Browse files
committed
perf: ActionLogPage listState
1 parent e2d9a7d commit 64f09e0

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

app/src/main/kotlin/li/songe/gkd/ui/ActionLogPage.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import androidx.compose.foundation.layout.height
1212
import androidx.compose.foundation.layout.padding
1313
import androidx.compose.foundation.layout.width
1414
import androidx.compose.foundation.lazy.LazyColumn
15+
import androidx.compose.foundation.lazy.rememberLazyListState
1516
import androidx.compose.foundation.shape.RoundedCornerShape
1617
import androidx.compose.material.icons.Icons
1718
import androidx.compose.material.icons.automirrored.filled.ArrowBack
@@ -31,6 +32,7 @@ import androidx.compose.runtime.Composable
3132
import androidx.compose.runtime.CompositionLocalProvider
3233
import androidx.compose.runtime.collectAsState
3334
import androidx.compose.runtime.getValue
35+
import androidx.compose.runtime.key
3436
import androidx.compose.runtime.remember
3537
import androidx.compose.runtime.rememberCoroutineScope
3638
import androidx.compose.ui.Modifier
@@ -90,6 +92,7 @@ fun ActionLogPage(
9092
val navController = LocalNavController.current
9193
val vm = viewModel<ActionLogVm>()
9294
val actionDataItems = vm.pagingDataFlow.collectAsLazyPagingItems()
95+
val listState = key(actionDataItems.itemCount > 0) { rememberLazyListState() }
9396

9497
val timeTextWidth = measureNumberTextWidth(MaterialTheme.typography.bodySmall)
9598

@@ -158,6 +161,7 @@ fun ActionLogPage(
158161
}, content = { contentPadding ->
159162
LazyColumn(
160163
modifier = Modifier.scaffoldPadding(contentPadding),
164+
state = listState,
161165
) {
162166
items(
163167
count = actionDataItems.itemCount,

0 commit comments

Comments
 (0)