Xcode SwiftUI-如何重新绑定绑定的可选参数?
我正在创建一个文本控件,它接受可选的文本值。如果提供了该值,我希望显示TextField控件,否则使用Text控件。您能指导我如何将已绑定的值重新绑定到文本字段吗Xcode SwiftUI-如何重新绑定绑定的可选参数?,xcode,swiftui,Xcode,Swiftui,我正在创建一个文本控件,它接受可选的文本值。如果提供了该值,我希望显示TextField控件,否则使用Text控件。您能指导我如何将已绑定的值重新绑定到文本字段吗 struct TextBoxControl: View { var text : String @Binding var value : String? var body: some View { if (value == nil ) { Tex
struct TextBoxControl: View {
var text : String
@Binding var value : String?
var body: some View {
if (value == nil )
{
Text(text)
}
else
{
TextField("Enter value", text: $value!)
}
}
}
太好了,我找到了解决办法
//'''
struct TextBoxControl: View {
var text : String
//@Binding var value : String?
var value : Binding<String>?
@State var dummyText : String = ""
var body: some View {
if (value == nil )
{
Text(text)
}
else
{
TextField("Enter value", text: (value!) ?? $dummyText)
}
}
}
struct TextBoxControlTest: View {
var text : String
@State var txt : String
//var value : Binding<String>?
@State var dummyText : String = ""
var body: some View {
TextBoxControl(text: "ddd", value: ($txt))
}
}
//'''
/''
结构TextBoxControl:视图{
变量文本:字符串
//@绑定变量值:字符串?
var值:绑定?
@状态变量dummyText:String=“”
var body:一些观点{
如果(值==nil)
{
文本(文本)
}
其他的
{
文本字段(“输入值”,文本:(值!)??$dummyText)
}
}
}
结构TextBoxControlTest:视图{
变量文本:字符串
@状态变量txt:String
//var值:绑定?
@状态变量dummyText:String=“”
var body:一些观点{
TextBoxControl(文本:“ddd”,值:($txt))
}
}
//'''
对于您的情况来说,这要简单得多,只是
TextField("Enter value", text: Binding($value)!)
这回答了你的问题吗?您可以将
$dummyText
替换为.constant(“”
,以避免仅为以下内容创建@State var dummyText
)