Jetpack Compose下拉菜单报错:未传递参数‘text’
解决Jetpack Compose下拉菜单报错:未为参数“text”传递值
报错原因
你当前使用的DropdownMenuItem(大概率是Material 3版本)要求必须传入text参数,而你的代码写法不符合该版本的API规范。
修复方案
分两种情况处理:
情况1:使用Material 3库
修改代码,显式传入text参数,将文本内容放在text的lambda中:
list.forEach { label -> DropdownMenuItem( onClick = { selectedItem = label expanded = false }, text = { Text(text = label) } ) }
情况2:使用Material 2库
确保导入的是Material 2的DropdownMenuItem:
import androidx.compose.material.DropdownMenuItem
你的原有写法本身符合Material 2的API,如果仍报错,检查:
label是否为String类型,若不是需转换为字符串(比如label.toString())- 确认Material 2依赖版本为稳定版(如
implementation "androidx.compose.material:material:1.6.1")
内容的提问来源于stack exchange,提问作者Asmath
相关产品推荐
相关产品推荐

