在SwiftUI中绑定到ForEach

问题描述

我使用FetchRequest来填充元素。然后,我使用一个列表,并希望显示某种待办事项元素,您可以在其中看到已选中的元素和未选中的元素。为此,我创建了一个CheckBoxView。

我现在的问题是,我需要将绑定传递给视图。但是如何在ForEach中做到这一点? 如果我有一个简单的绑定对我来说很容易,我只需生成一个@State就可以了。在这里怎么做?

List {
    ForEach(elements,id: \.self) { item in
        CheckBoxView(checked: item.checked)
    }
}

这是视图:

struct CheckBoxView: View {
    @Binding var checked: Bool
    ....
}

解决方法

假设您的elements是项目状态数组,则可以是

List {
    ForEach(elements.indices,id: \.self) { i in
        CheckBoxView(checked: $elements[i].checked)
    }
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...