在ViewModel中实时更新Compose界面数据分为两步

分别是在ViewModel中,和View中。

一、在ViewModel中:

1、使用mutableStateOf定义一个可变的值,这个值用于界面显示。

val mutableStateInModel = mutableStateOf("")

这代表现在定义了一个字符串类型的“可变状态”,为什么要定义这样一个“可变状态”,因为使用mutableStateOf方法生成的“可变状态”,自带了通知界面 重新绘制 的功能,如果需要实现实时更新界面数据的功能时,可以使用这个mutableStateOf方法来定义 数据源。

2、如果需要界面显示的值更新,那么就需要改变这个“可变状态”value属性。

compose
compose - Docker Compose是一个用于定义和运行多容器Docker应用程序的工具,通过Compose文件格式简化应用部署过程。
mutableStateInModel.value = data.toString()

二、在View中:

1、使用by remenber创建View中显示的数据。

val mutableValueInView by remember{ 
    viewModel.mutableStateInModel
}

使用by remember,将ViewModel中的数据关联到View中的变量。

2、在具体的Text中使用这个可以实时更新的值。

Text(
    text = mutableValueInView, 
    Modifier.height(20.dp)
)
推荐内容
GitHub 加速计划 / compose / compose
86
5
下载
compose - Docker Compose是一个用于定义和运行多容器Docker应用程序的工具,通过Compose文件格式简化应用部署过程。
最近提交(Master分支:7 个月前 )
51907d9f Signed-off-by: Guillaume Lours <705411+glours@users.noreply.github.com> 2 天前
a3f88a0a Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com> 2 天前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐