EnjoyLife

ComposeUI > TextField 에 입력후 출력및 화면 회전시 값 유지 본문

안드로이드 개발/JetPack Compse

ComposeUI > TextField 에 입력후 출력및 화면 회전시 값 유지

Aiden96 2024. 6. 26. 11:17
@Preview(showBackground = true)
@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun Test() {

    val viewModel: MainViewModel = viewModel()
    val inputTxt by viewModel.inputTxt.collectAsState()
    val outTxt by viewModel.outTxt.collectAsState()

//    var inputTxt by remember {
//        mutableStateOf("")
//    }
    Log.e("Test", "inputTxt: $inputTxt")
    //var outTxt by remember { mutableStateOf("") }
    Column(
        modifier = Modifier
            .fillMaxSize()
            .padding(16.dp)
    ) {
        TextField(
            value = inputTxt,
            onValueChange = viewModel::setInputTxt,
            modifier = Modifier.fillMaxWidth()
        )
        Button(
            onClick = {
                viewModel.setOutTxt(inputTxt)
                viewModel.setInputTxt("")
            },
            modifier = Modifier.align(Alignment.End)
        ) {
            Text("클릭")
        }
        Text(
            text = "출력: $outTxt",
            fontSize = 14.sp,
            modifier = Modifier.padding(16.dp)
        )
    }

}