首页 > 解决方案 > SwiftUI 和多个选择器

问题描述

我试图根据他们的选择绑定两个选择器......一个选择器是一个静态列表......然后我还想重现这些选择器,以便有人根据第一个选择器做出选择。

但是,当在第一个项目上挑选一个项目时,我希望第二个项目反映这一点并更改 Picker 中的项目。

我尝试使用 ObservableObject,但是当涉及到相同类型的多个视图时,每个选择器都得到相同的 ObservableObject。

这是一些代码..

import SwiftUI
import Combine

class section_array: ObservableObject {
let objectWillChange = ObservableObjectPublisher()
var first_value = 0 { willSet { objectWillChange.send() } }
var second_value = 0 { willSet { objectWillChange.send() } }}

struct SwiftUIView: View {
    @Binding var master_sections: [ContentView.my_Section]
    @ObservedObject private var first_value: section_array = section_array()
   // @Binding var current_section: ContentView.my_Section
    @State private var comment: String = String()
    var body: some View {

        VStack {
            Picker(selection: self.$first_value.first_value , label: Text("Subsection")) {
                 ForEach(0 ..< self.master_sections.count) {
                 Text(self.master_sections[$0].name)
                       }}
                 TextField("Enter your comment.", text: $comment)

                   }
                  }                
                }

我尝试在这里访问它:

ForEach(master_subsections) { result in
      SwiftUIView(master_sections: self.$subsections)
                }

标签: swiftui

解决方案


推荐阅读