[英]Selecting a picker value to lead to a text field, SwiftUI
我試圖在我的應用程序中實現一個功能。
當我點擊我的選擇器時:
Picker(selection: $profileViewModel.education,
label: Text("Education Level")) {
ForEach(Education.levels, id: \.self) { level in
Text(level).tag(level)
}
}
這會將我帶到一個屏幕,然后我選擇該值(這很好 - 它按預期工作)
我怎么能選擇然后讓我說另一個屏幕的值,這樣我就可以填寫有關所選值的更多詳細信息。
例如,上面的選擇器有一個選擇教育級別的值,在選擇它之后,我怎么能得到一個動作表/另一個屏幕,這樣我就可以在那里有一個文本字段來保存這些額外的數據,或者一旦做出選擇,一個文本字段出現讓我保存一些額外的數據,然后單擊一個按鈕,將我帶到選擇器的原始屏幕(希望有意義)?
我已經嘗試在線研究類似的問題,但似乎找不到一個/或者您是否可以指出我應該研究的方向?
嘗試了以下方法:
如果我正確理解您的場景,這是一種可能的方法(使用 Xcode 12 / iOS 14 進行復制測試)
Picker(selection: $profileViewModel.education,
label: Text("Education Level")) {
ForEach(Education.levels, id: \.self) { level in
Text(level).tag(level)
}
}
.onChange(of: profileViewModel.education) { _ in
DispatchQueue.main.async {
self.showSheet = true
}
}
.sheet(isPresented: $showSheet) {
// put here your text editor or anything
Text("Editor for \(profileViewModel.education)")
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.