【发布时间】:2020-12-08 15:43:37
【问题描述】:
我对 SwiftUI 还是很陌生,所以我很想得到任何帮助!
我正在寻找基于text 的验证显示错误状态的TextField。
例如,如果 TextField 用于收集电子邮件,则在 text 不包含 @ 时显示错误。假设错误状态会将TextField 的边框颜色更改为Color.green。
我正在考虑通过验证闭包来解决此问题,但我仍然不确定如何更改 TextField 的实际视觉状态。
我知道我们可以can change border color based on editing state - 我应该声明类似@State var isError 的东西吗?
我也尝试将TextFieldStyle 保留为@State,但这似乎是一个具有关联类型的协议,我无法解决:
类似:
TextField("",
text: $text,
onEditingChanged: { _ in
self.style = CustomErrorStyle()
如果我能澄清一下,请告诉我,谢谢!
【问题讨论】:
-
你希望它如何显示错误状态?
-
@Asperi 比如说边框颜色变为
Color.green。 -
这是否回答了您的问题stackoverflow.com/a/64683684/12299030?
-
@Asperi 是的,我想是的,谢谢!我正在考虑使用
@State,就像我在问题中提到的那样。我试试看!
标签: ios swift swiftui textfield combine