【发布时间】:2022-01-06 09:41:54
【问题描述】:
如何过滤多个列表 切换?需要过滤红色、黄色和绿色切换,默认情况下(所有切换关闭)显示所有 Array 未过滤
struct Test: View {
@State var redToggle: Bool = false
@State var yellowToggle: Bool = false
@State var greenToggle: Bool = false
let testArray = ["red", "green", "yellow", "mint", "red", "green", "white"]
var body: some View {
VStack {
List {
ForEach(testArray.filter({
return (
(!redToggle && $0.description != "red") ||
(!yellowToggle && $0.description == "red")
//need add here some filters for green toggle
)
}), id: \.self) { colors in
Text("Color are \(colors)")
}
}
Spacer()
HStack(alignment: .center) {
Toggle(isOn: $redToggle) {
Text("Red")
}.toggleStyle(.switch)
Toggle(isOn: $yellowToggle) {
Text("Yellow")
}.toggleStyle(.switch)
Toggle(isOn: $greenToggle) {
Text("Green")
}.toggleStyle(.switch)
}
}
}
}
【问题讨论】:
标签: arrays swiftui swiftui-list