繁体   English   中英

Jetpack Compose 相当于 InputFilter?

[英]Jetpack Compose equivalent to InputFilter?

我正在寻找 Jetpack Compose TextField 中 EditText 的 InputFilter 的等效方法。

因为我试图阻止用户输入不需要的值,例如%@*()-字符。

这里有一个正则表达式的解决方案:

@Composable
fun FilteredTextField(
    text: String,
    onChanged: (String) -> Unit,
    ignoredRegex: Regex
) {
    TextField(value = text,
        onValueChange = {
            if (!it.contains(ignoredRegex)) onChanged(it)
        }
    )
}

使用:

@Composable
fun FilteredTextFieldDemo() {
    var text by remember { mutableStateOf("") }
    FilteredTextField(
        text = text,
        onChanged = { text = it },
        ignoredRegex = Regex("[%@*()-]")
    )
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM