如何在一次操作中替换 mutableStateListOf 值?

问题描述 投票:0回答:1

我想在一次操作中更新

mutableStateListOf
的实例,以便 UI 不会在刷新旧值和设置新值之间闪烁。这可能吗?我查看了自动完成的建议,但没有找到任何 pauseresume 或类似的 API。

val dataset = mutableStateListOf<String>("foo", "bar")

dataset.clear() // <-- UI flickers to zero
dataset.add("bas") // <-- UI shows new numbers

该列表包含需要根据用户请求的操作进行切换的数据集的名称。假设现在有

foo
bar
处于活动状态,并且用户决定切换到
baz
。切换使 UI 闪烁,因为我找不到一步执行该切换的方法。

kotlin android-jetpack-compose desktop-application
1个回答
0
投票

我查看了

SnapshotStateList
的文档,发现
prependStateRecord
可以做到这一点:

dataset.prependStateRecord(mutableStateListOf("baz").firstStateRecord)
© www.soinside.com 2019 - 2024. All rights reserved.