簡體   English   中英

選擇一個選擇器值以指向文本字段,SwiftUI

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM