要扩展的应用程序';其他';从表单(SwiftUI)中选择选择器时的类别
我想向用户提供一个类别列表(通过表单中包含的选择器),最后列出的类别是“其他”。如果用户选择“其他”,则应用程序将在表单中添加一个字段,供用户输入新类别名称(该名称将保存以供将来参考) 我已经能够提供选择器列表:要扩展的应用程序';其他';从表单(SwiftUI)中选择选择器时的类别,swift,forms,swiftui,picker,Swift,Forms,Swiftui,Picker,我想向用户提供一个类别列表(通过表单中包含的选择器),最后列出的类别是“其他”。如果用户选择“其他”,则应用程序将在表单中添加一个字段,供用户输入新类别名称(该名称将保存以供将来参考) 我已经能够提供选择器列表: Section { Picker(selection: $courseIndex, label: Text("Course")) { ForEach(0 ..< courses.count) { Text(sel
Section {
Picker(selection: $courseIndex, label: Text("Course")) {
ForEach(0 ..< courses.count) {
Text(self.courses[$0]).tag($0)
} //ForEach
} // Picker
} // Section - Course
部分{
选择器(选择:$courseIndex,标签:文本(“课程”)){
ForEach(0..<课程数){
文本(self.courses[$0]).tag($0)
}//ForEach
}//选择器
}//部分-课程
但我无法确定如何显示新字段,以便用户输入新类别
谢谢。您可以在BodyBuilder中添加use
if
,例如:
struct ContentView:View{
@状态变量courseIndex:Int=2
让课程=[“课程1”、“课程2”、“其他”]
var body:一些观点{
VStack{
部分{
选择器(选择:$courseIndex,标签:文本(“课程”)){
ForEach(0..<课程数){
文本(self.courses[$0]).tag($0)
}
}
}
如果courseIndex==2{
文本(“显示额外内容”)
}
}
}
}
您可以使用.onChange(of:VAR)
如果选择了other,则为新节启用一个标志,但可能有更好的方法