我在jetpack组件中为
TextField
创建了一个单独的自定义组件,并导入了下面的库,但它抛出了如下图所示的错误
import androidx.compose.material.Text
import androidx.compose.material.TextField
但是我无法编译它,它抛出了错误
我的实现
import androidx.compose.foundation.text.KeyboardActions
import androidx.compose.foundation.text.KeyboardOptions
import androidx.compose.material.Text
import androidx.compose.material.TextField
import androidx.compose.material.TextFieldDefaults
import androidx.compose.runtime.Composable
import androidx.compose.ui.ExperimentalComposeUiApi
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.LocalSoftwareKeyboardController
import androidx.compose.ui.text.input.ImeAction
import androidx.compose.ui.tooling.preview.Preview
@ExperimentalComposeUiApi
@Composable
fun NoteInputText(
modifier: Modifier = Modifier,
text: String,
label: String,
maxLine: Int = 1,
onTextChange: (String) -> Unit,
onImeAction: () -> Unit = {},
) {
val keyboardController = LocalSoftwareKeyboardController.current
TextField(
value = text,
onValueChange = onTextChange,
colors = TextFieldDefaults.textFieldColors(
backgroundColor = Color.Transparent
),
maxLine = maxLine,
label = {
Text(text = label)
},
keyboardOptions = KeyboardOptions.Default.copy(
imeAction = ImeAction.Done,
),
keyboardActions = KeyboardActions(onDone = {
onImeAction()
keyboardController?.hide()
}),
modifier = modifier
)
}
@ExperimentalComposeUiApi
@Preview(showBackground = true)
@Composable
fun Preview() {
NoteInputText(text = "hello", label = "nam", onTextChange = {})
}
我遇到的错误
尝试
maxLine: Int = 1,
到maxLines: Int = 1,
maxLine