如何从工作表中将新视图推入导航堆栈中。我想显示一个课程列表。在选择其中一个课程时,应打开一个工作表,显示有关该课程的详细信息。从工作表中,应该可以在新的全屏视图中开始课程。
import SwiftUI
struct ContentView: View {
var lessons = [Lesson(id:"1"),Lesson(id:"2"),Lesson(id:"3"),Lesson(id:"4"),Lesson(id:"5"),Lesson(id:"6"),Lesson(id:"7"),Lesson(id:"8"),Lesson(id:"9")]
var body: some View {
NavigationView(){
Form{
List(lessons){ lesson in
LessonButton(lesson: lesson)
}
}
}
}
}
struct LessonButton:View{
@State var showSheet = false
var lesson:Lesson
var body: some View {
Button(action:{self.showSheet = true}){
Text(lesson.name)
}.sheet(isPresented:$showSheet){
NavigationLink(destination: Text("reached")){
Text("start")
}
}
}
}
struct Lesson: Identifiable{
var id:String
var name: String{
"Lesson \(self.id)"
}
}
但是NavigationLink无法正常工作。我猜这是因为工作表不是Content View的ChildView。这可能就是为什么它不起作用的原因。但是如何实现呢?