选择一个选择器值以引导文本字段,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)
}
}
这会将我带到一个屏幕,然后我 select 值(这很好 - 它按预期工作)
我怎么能 select 然后将我的值带到另一个屏幕,这样我就可以填写有关 selected 值的更多详细信息。
例如,上面的选择器有一个 select 教育水平的值,在 selecting 它之后,我怎么能得到一个动作 sheet/another 屏幕出现所以我可以有一个文本那里的字段将这些额外数据保存到或一旦 selection 完成,就会出现一个文本字段供我保存一些额外数据,然后单击一个按钮,它将带我到选择器的原始屏幕(希望有道理)?
我已经尝试在线研究类似的问题,但似乎找不到 one/or 如果你能指出我应该研究的方向?
尝试了以下方法:
如果我正确地理解了您的情况,这是一种可能的方法(使用 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)")
}
我正在尝试在我的应用中实现一项功能。
当我点击我的选择器时:
Picker(selection: $profileViewModel.education,
label: Text("Education Level")) {
ForEach(Education.levels, id: \.self) { level in
Text(level).tag(level)
}
}
这会将我带到一个屏幕,然后我 select 值(这很好 - 它按预期工作)
我怎么能 select 然后将我的值带到另一个屏幕,这样我就可以填写有关 selected 值的更多详细信息。
例如,上面的选择器有一个 select 教育水平的值,在 selecting 它之后,我怎么能得到一个动作 sheet/another 屏幕出现所以我可以有一个文本那里的字段将这些额外数据保存到或一旦 selection 完成,就会出现一个文本字段供我保存一些额外数据,然后单击一个按钮,它将带我到选择器的原始屏幕(希望有道理)?
我已经尝试在线研究类似的问题,但似乎找不到 one/or 如果你能指出我应该研究的方向?
尝试了以下方法:
如果我正确地理解了您的情况,这是一种可能的方法(使用 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)")
}