xcode - 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!)
}
}
}
解决方案
太好了,我找到了解决方案
//'''
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))
}
}
//'''
推荐阅读
- dart - 根据 sharedpreference 中的数据设置背景颜色
- javascript - 如何修复 [干预] 忽略取消可取消 = false 的 touchmove 事件的尝试,例如因为滚动正在进行中且无法
- sed - 如何在模式之前插入多个包含空格、管道、grep 和 sed 命令的复杂行
- groovy - 如何理解下面的 Groovy 脚本功能?
- node.js - 显示从路由器到 ejs 视图的 flash 消息
- discord.js - 无法离开不和谐公会
- angular - 在 Angular JS 中声明类似于 .constant 的 Angular 常量的正确方法是什么?
- string - 如何增加和减少给定范围的 AlphaNumeric 字符串?
- android - 在 Android 上的 chrome v72 中安装期间服务人员冻结
- c++ - “ifstream”没有读取整个文件