假设我正在制作一个如下所示的自定义输入元素:
struct CustomInput : View {
@Binding var text: String
var name: String
var body: some View {
TextField(name, text: $text)
.modifier(InputModifier())
}
}
目前,当我实例化此视图时,我需要通过text
and name
参数的名称。我希望能够使name
参数可选,如下例所示。
CustomInput("Some name", $text)
通常我会为此使用 init 方法。但我不确定如何处理属性包装器,例如@Binding
在初始化函数中。
关于如何实现这一目标有什么想法吗?
您可以这样编写初始化程序:
struct CustomInput : View {
@Binding var text: String
var name: String
init(_ name: String, _ text: Binding<String>) {
self.name = name
// Beta 3
// self.$text = text
// Beta 4
self._text = text
}
var body: some View {
TextField(name, text: $text)
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)