SwiftUI Picker 在对源使用结构数据时不会 'pick data'

SwiftUI Picker does not 'pick data' when using struct data for source

我找不到我相信会很简单的答案!。 选择器毫无问题地显示所有值,但不选择所选值。 我尝试在 ForEach(section.serie, id: .self.id) 中添加 ', id: .self.id' 但这不会改变任何东西。

结构用作所有数据的'tables'

struct Eseries: Codable, Identifiable {
   var id: UUID
   var name: String
   var serie: [EserieData]
}

struct EserieData: Codable, Equatable, Identifiable {
   var id: UUID
   var name: String
   var values: [String]

json 文件的摘录

[
   {
      "id": "EF1CC5BB-4785-4D8E-AB98-5FA4E00B6A66",
      "name": "e-series",
      "serie": [
         {
            "id": "EDCD038C-036F-4C40-826F-61C88CD84DDD",
            "name": "E3 50%",
            "values": ["100", "220", "470"]
         },

ContentView 的摘录

//load data from json file
   let eserie = Bundle.main.decode([Eseries].self, from: "eseries.json")

   @State private var selectedSerie = "E24 5%"
    
   VStack {
      Text("E-Serie")
      Picker("E-Serie", selection: $selectedSerie) {
         ForEach(eserie) { section in
            Section() {
               ForEach(section.serie) { item in
                  Text(item.name)
               }
            }
         }
      }
      .padding()
      .frame(maxWidth: geometry.size.width / 3)
      .clipped()
      .border(Color.red)
   }

Picker with its data

我不知道答案。 我不再使用 json,否则仅仅提取 'data' 来初始化 table 就太复杂了。 我创建了 2 tables。每个 Picker 一个,这个工作正常。