侧边栏壁纸
  • 累计撰写 28 篇文章
  • 累计创建 10 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

SwiftUI如何在List或ForEach中使用Binding

Jserv
2025-04-24 / 0 评论 / 0 点赞 / 8 阅读 / 1100 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2025-04-24,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

SwiftUI允许我们直接从绑定中创建ListForEach,然后为我们显示的数据集合中的每个元素提供单独绑定的内容闭包。当您为每个项目显示的内容需要绑定到其某些数据时,这一点很重要,例如列表行有一个文本字段来编辑用户名。

要使用此功能,请将绑定直接传递到您的列表中,例如$users,然后在内容闭包中接受绑定,例如$user。例如,在这段代码中,我们显示了一个用户列表,并在每一行中添加了一个Toggle来确定他们是否被联系过:

struct User: Identifiable {
    let id = UUID()
    var name: String
    var isContacted = false
}

struct ContentView: View {
    @State private var users = [
        User(name: "Taylor"),
        User(name: "Justin"),
        User(name: "Adele")
    ]

    var body: some View {
        List($users) { $user in
            Text(user.name)
            Spacer()
            Toggle("User has been contacted", isOn: $user.isContacted)
                .labelsHidden()
        }
    }
}

以这种方式使用绑定是修改列表的最有效方法,因为当只有一个项目更改时,它不会导致整个视图重新加载。

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区