首页 > 解决方案 > SwiftUI - 我们如何重新绑定绑定的可选参数?

问题描述

我正在创建一个接受可选文本值的文本控件。如果提供了值,我想显示 TextField 控件,否则使用文本控件。你能指导我如何将已经绑定的值重新绑定到文本字段

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!)
        }
    }
}

标签: xcodeswiftui

解决方案


太好了,我找到了解决方案

//'''
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))
}
}
//'''

推荐阅读