列出 lazyColumn 时设置 scrollState

Setting the scrollState when listing a lazyColumn

要使用 paging 和 jetpack 复合库绘制数据,我使用 LazyColumn()。数据每秒都会出现,我需要在下降时停止对元素的查看。现在,在列表顶部添加新数据时,它们会降低。我如何使用 scrollState 或任何其他方法做到这一点?

@Composable
fun HistoryTableList(
    viewModel: HistoryViewModel = viewModel()
) {
    val scrollState = rememberLazyListState()
    val coroutineScope = rememberCoroutineScope()

    LazyColumn(
        state = scrollState,
        modifier = Modifier
            .padding(
                HistoryListHorizontalPadding,
                0.dp,
                HistoryListHorizontalPadding,
                HistoryListPaddingBottom
            )
            .fillMaxWidth(),
    ) {
        items(historyItems) { historyRecord ->
            if (historyRecord != null) {
                // need to set scrollState to view elements without moving[![enter image description here][1]][1]
                HistoryTableItem(history = historyRecord)
            }
        }
    }
}

现在如果我下去他们就会移动

尝试在您的 items 上指定一些独特的 keyshttps://developer.android.com/jetpack/compose/lists#item-keys

这样,当您更新数据时,具有相同键的项目将保留在您的列表顶部。