TextField前景色异常:实时邮箱验证时部分字符颜色未正常切换
实时邮箱验证TextField文本颜色异常问题
我在实现实时邮箱验证功能时,iOS模拟器出现异常行为:当邮箱验证不通过时,TextField文本应为红色;验证通过时文本应为黑色,但实际输入过程中,部分字符会保持红色。为排除正则表达式的影响,我已将验证函数替换为简单的随机判断逻辑,代码如下:
struct EmailText: View { @State var textFieldValue: String = "" private func isValid(_ s: String) -> Bool { // 非真实验证逻辑,仅作简化演示 return Int.random(in: 0 ... 1) == 1 } var body: some View { TextField("", text: $textFieldValue) .foregroundColor(isValid(textFieldValue) ? .black : .red) .padding() } }
演示时可观察到:输入文本过程中,当验证结果切换时,TextField内的部分字符并未同步更新颜色,仍保留之前的红色。
内容的提问来源于stack exchange,提问作者filip.karas
相关产品推荐
相关产品推荐

