SwiftUI:在一个部分内编辑列表
SwiftUI: edit List inside of a Section
没有 Form
和 Section
,我可以编辑列表:
var body: some View {
List {
ForEach(modeConfigurations.sorted, id: \.id) { item in
Text("\(item.defaultSortIndex)")
}
.onMove(perform: move)
}
.navigationBarItems(trailing:
EditButton()
)
} // Body
我想在 Form
的 Section
中编辑,但它在那里不起作用:
var body: some View {
Form{
Section(header: Text("Sort")){
List {
ForEach(modeConfigurations.sorted, id: \.id) { item in
Text("\(item.defaultSortIndex)")
}
.onMove(perform: move)
}
.navigationBarItems(trailing:
EditButton()
)
} // Sort Section
} // Form
} // Body
我无法编辑,ForEach
中的 Text
没有呈现为单独的行。
如何在 Form
的 Section
中编辑 List
?
您应该将 .navigationBarItems(trailing: EditButton())
放在 Form
上而不是让它工作。
也不需要 List
,因为 Section
已经“表现得像”List
。 (感谢@Sweeper 提到这一点)
var body: some View {
Form {
Section(header: Text("Sort")) {
// List { // <- This is not needed as Section contains an implicit list.
ForEach(modeConfigurations.sorted, id: \.id) { item in
Text("\(item.defaultSortIndex)")
}
.onMove(perform: move)
// } // <- Removeed this as we removed `List`
} // Sort Section
} // Form
.navigationBarItems(trailing: EditButton()) // <- Misplacing this was the issue.
} // Body
没有 Form
和 Section
,我可以编辑列表:
var body: some View {
List {
ForEach(modeConfigurations.sorted, id: \.id) { item in
Text("\(item.defaultSortIndex)")
}
.onMove(perform: move)
}
.navigationBarItems(trailing:
EditButton()
)
} // Body
我想在 Form
的 Section
中编辑,但它在那里不起作用:
var body: some View {
Form{
Section(header: Text("Sort")){
List {
ForEach(modeConfigurations.sorted, id: \.id) { item in
Text("\(item.defaultSortIndex)")
}
.onMove(perform: move)
}
.navigationBarItems(trailing:
EditButton()
)
} // Sort Section
} // Form
} // Body
我无法编辑,ForEach
中的 Text
没有呈现为单独的行。
如何在 Form
的 Section
中编辑 List
?
您应该将 .navigationBarItems(trailing: EditButton())
放在 Form
上而不是让它工作。
也不需要 List
,因为 Section
已经“表现得像”List
。 (感谢@Sweeper 提到这一点)
var body: some View {
Form {
Section(header: Text("Sort")) {
// List { // <- This is not needed as Section contains an implicit list.
ForEach(modeConfigurations.sorted, id: \.id) { item in
Text("\(item.defaultSortIndex)")
}
.onMove(perform: move)
// } // <- Removeed this as we removed `List`
} // Sort Section
} // Form
.navigationBarItems(trailing: EditButton()) // <- Misplacing this was the issue.
} // Body