Я получаю сообщение об ошибке Тип не имеет идентификатора члена в списке SwiftUI - PullRequest
0 голосов
/ 23 апреля 2020

У меня есть навигационное представление в swiftUI, у которого есть Список, который должен отправить вас на другой экран, но я, когда я помещаю другое представление, получаю ошибку Type '_' has no member 'productID'. Я не получаю ошибку, если я помещаю пустое представление (в тот момент, когда я объявляю переменную в другом представлении, я получаю ту же ошибку) и если я помещаю текст в место назначения.


struct RestaurantResult: Codable {
    var productID: Int
    var productName: String
    var cost: Float
    var description: String
    var imageURL: URL
}

struct productsView: View {

@State private var products = [RestaurantResult]()

var body: some View {
        NavigationView {
            List(products, id: \.productID) { item in
                NavigationLink(destination: orderPage(orderitem: item)) { 
            VStack(alignment: .leading) {
                Text(item.productName)
                    .font(.headline)
                Text(String("$\(item.cost)"))
                    .font(.subheadline)
                    }
                }
            }.onAppear(perform: loadData)
            .navigationBarTitle(Text(restaurant.storeName), displayMode: .large)
        }
    }
}

Примечание: не уверен, что это важно, но это представление находится внутри листа

Редактировать: вот код в orderPage: (я прокомментировал почти все это для его отладки).

struct orderFormat: Codable {
    var productName: String
    var notes: String
    var quantity: Int
    var id = UUID()
}
struct orderPage: View {

    let orderItem: RestaurantResult //gets data from productsView


    @State private var newOrder: orderFormat

    @State private var orderProductName: String
    @State private var orderQuantity: String
    @State private var orderNotes: String

    var body: some View {
        VStack {
            imageView(image: "test0").edgesIgnoringSafeArea(.all)
            VStack {
                HStack {
                    Text(orderItem.productName)
                        .font(.subheadline)
                    Spacer()
                    Text(String("$\(orderItem.cost)"))
                        .font(.subheadline)
                }.padding()

                Stepper(value: $newOrder.quantity, in: 1...10) {
                Text("Quantity: \(newOrder.quantity)")
                }

                TextField("Notes", text: $newOrder.notes)
                .textFieldStyle(RoundedBorderTextFieldStyle())
                .frame(width: 200, height: nil)
                .multilineTextAlignment(.center)
                .disableAutocorrection(Bool(true))
                .accessibility(identifier: "Notes")
                .autocapitalization(.none)
                /*
                Button(action: {
                    self.newOrder.productName = self.orderItem.productName
                    print(self.newOrder)
                }) {
                    HStack{
                        Spacer()
                        Text("Order").font(.headline).foregroundColor(.white)
                        Spacer()
                    }.padding(.vertical, CGFloat(10))
                    .background(Color.blue)
                    .padding(.horizontal, CGFloat(40))
                    }
                */
            }
        } //first VStack
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...