ios - SwiftUI:编辑部分内的列表
问题描述
没有Form
and Section
,我可以编辑一个列表:
var body: some View {
List {
ForEach(modeConfigurations.sorted, id: \.id) { item in
Text("\(item.defaultSortIndex)")
}
.onMove(perform: move)
}
.navigationBarItems(trailing:
EditButton()
)
} // Body
我想在 aSection
的 a 中进行编辑Form
,但它在那里不起作用:
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
我无法编辑,Text
内部ForEach
没有呈现为单独的行。
如何编辑 a List
inside a Section
of a Form
?
解决方案
您应该穿上它.navigationBarItems(trailing: EditButton())
以Form
使其正常工作。
也不List
需要,因为Section
已经“表现得像” a 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
推荐阅读
- windows - 对特定类型的文件运行命令
- python - 无法将表格导入熊猫
- mysql - 为什么 MySQL 在安装过程结束时不给我密码?
- powerbi - 从 Excel 上传到 Power BI 的数据丢失
- flutter - Flutter:防止 FutureBuilder 总是刷新每个更改屏幕
- python - Matplotlib 用双头箭头连接散点图
- c# - 大量的Task.Delay会不会导致性能问题
- node.js - 在 node.js 的生产服务器上获取 502 Bad Gateway
- canvas - 使用 PyX,如何设置画布的大小?
- azure - 哪些 Azure 应用服务可以在同一个应用服务计划上运行?