我正在尝试 Android 的 Jetpack Compose。
\n对于简单的用例,一切都按预期工作,
\n但我在缺少更高级案例的重组方面遇到了一些麻烦。
我的型号:
\n我正在模拟一个原料存储系统,其中
\ndata class Ingredient(val name: String, @DrawableRes val iconResource: Int? = null)\nRun Code Online (Sandbox Code Playgroud)\ndata class StorageItem(val ingredient: Ingredient, var stock: Int)\nRun Code Online (Sandbox Code Playgroud)\n我的可组合项:
\n我的StorageUi可组合项应该列出所有存储项目
\n并显示成分的图标和名称以及库存。
\n对于这篇文章,我删除了所有不相关的修饰符和格式以简化可读性。
\n(请注意,我使用没有视图模型的第二个版本重载了 StorageScreen 可组合项,
\n是为了更轻松地进行测试并促进 Android Studio 中的预览功能。)
@Composable\n fun StorageScreen(viewModel: StorageViewModel) {\n StorageScreen(\n navController = navController,\n storageItems = viewModel.storageItems,\n onIngredientPurchased = viewModel::purchaseIngredient\n )\n }\n\n @Composable\n …Run Code Online (Sandbox Code Playgroud) android kotlin android-viewmodel android-jetpack-compose lazycolumn