每个列表元素都可以导航到 SwiftUI 中的新视图吗?

Can each list element navigate to a new view in SwiftUI?

我是 SwiftUI 的新手,我正在尝试创建一个列表,其中包含大学学位课程中的每个模块。我希望(单击时)每个模块导航到一个单独的新视图。这是我希望达到的目标:

主页 -> 列表页 -> 每个相应的模块页面。

NavigationLink 似乎对所有列表元素只有一个可能的目的地。有什么办法吗?先感谢您。 这是我当前的代码:

struct ListView: View {
    var modules: [Module] = []
    var body: some View {
        NavigationView {
        List(modules) { module in
            NavigationLink(destination: QuizView()) {
            VStack(alignment: .leading) {
                Text(module.name)
                Text("\(module.questions) questions")
                    .foregroundColor(.secondary)
                    .font(.subheadline)

            }
            }
        }
        .navigationBarTitle(Text("Modules"))
        }
    }
}

您可以尝试根据某些值(例如 module.name)返回特定的 View

var modules: [Module] = []
var body: some View {
    NavigationView {
        List(modules) { module in
            NavigationLink(destination: moduleView(name: module.name)) {
                VStack(alignment: .leading) {
                    Text("\(module.id)")
                }
            }
        }
        .navigationBarTitle(Text("Modules"))
    }
}
@ViewBuilder
func moduleView(name: String) -> some View {
    switch name {
    case "module 1":
        View1()
    case "module 2":
        View2()
    default:
        View3()
    }
}