微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我可以在 ForEach 循环内的 TextField 绑定中添加变量吗?

如何解决我可以在 ForEach 循环内的 TextField 绑定中添加变量吗?

总的来说,我对 swiftUI 和开发非常陌生。我正在尝试创建一个返回字符串的动态文本字段列表。

    ForEach((1...numberofNAdefects),id: \.self) {
                        
                        TextField("\($0): Enter defect description",text: $nadefect1)

我遇到的问题是我希望“$nadefect#”返回字符串随着 foreachloop 动态增加。最初我的想法是添加 text: $nadefect\($0) 但这不起作用。

解决方法

像您建议的那样增加字符串是不可能的。不过,在 SwiftUI 中实现动态文本字段列表非常容易。

您可以使用字符串数组代替增加字符串:

struct ContentView: View {
    
    @State var defects: [String] = ["","",""]
    
    var body: some View {
        ForEach(0..<defects.count,id: \.self) {
            TextField("\($0 + 1): Enter defect description",text: $defects[$0])
        }.padding()
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。