在 SwiftUI 中绑定 ForEach
Binding in a ForEach in SwiftUI
我用一个FetchRequest
来填充元素。然后我正在使用一个列表,并希望显示某种待办事项元素,您可以在其中看到哪些已被选中,哪些未被选中。为此,我创建了一个 CheckBoxView。
我现在的问题是,我需要将绑定传递给视图。但是如何在 ForEach 中做到这一点?
如果我有一个绑定对我来说很容易,我只需生成一个 @State
就可以了。这里怎么操作?
List {
ForEach(elements, id: \.self) { item in
CheckBoxView(checked: item.checked)
}
}
视图如下:
struct CheckBoxView: View {
@Binding var checked: Bool
....
}
假设你的elements
是items数组的状态,它可以是
List {
ForEach(elements.indices, id: \.self) { i in
CheckBoxView(checked: $elements[i].checked)
}
}
我用一个FetchRequest
来填充元素。然后我正在使用一个列表,并希望显示某种待办事项元素,您可以在其中看到哪些已被选中,哪些未被选中。为此,我创建了一个 CheckBoxView。
我现在的问题是,我需要将绑定传递给视图。但是如何在 ForEach 中做到这一点?
如果我有一个绑定对我来说很容易,我只需生成一个 @State
就可以了。这里怎么操作?
List {
ForEach(elements, id: \.self) { item in
CheckBoxView(checked: item.checked)
}
}
视图如下:
struct CheckBoxView: View {
@Binding var checked: Bool
....
}
假设你的elements
是items数组的状态,它可以是
List {
ForEach(elements.indices, id: \.self) { i in
CheckBoxView(checked: $elements[i].checked)
}
}