在 SwiftUI 中使用绑定值添加和删除列表部分
add and remove list sections using binding value in SwiftUI
我尝试使用绑定值在列表中添加和删除部分,因此当添加或删除项目时,将在列表中添加和删除部分的“listSectins”。
@State private var listSectins = ["SectionOne", "SectionTwo"]
var body: some View {
NavigationView {
List(selection: $selection) {
Section {
ForEach(self.firstSectionData) { rowData in
MainMenuRowView(rowData: rowData)
}
.onMove(perform: { indices, newOffset in
self.groupData.rowsGroup[0].move(fromOffsets: indices, toOffset: newOffset)
})
}
.listRowInsets(EdgeInsets(top: 0, leading: 0, bottom: 0, trailing: 0))
}
}
我尝试下面的代码及其工作
List(selection: $selection) {
if self.isEditMode {
Section {
ForEach(self.firstSectionData) { rowData in
MainMenuRowView(rowData: rowData, isEditMode: self.isEditMode)
}
.onMove(perform: { indices, newOffset in
self.groupData.rowsGroup[0].move(fromOffsets: indices, toOffset: newOffset)
})
}
.listRowInsets(EdgeInsets(top: 0, leading: 0, bottom: 0, trailing: 16))
}
我尝试使用绑定值在列表中添加和删除部分,因此当添加或删除项目时,将在列表中添加和删除部分的“listSectins”。
@State private var listSectins = ["SectionOne", "SectionTwo"]
var body: some View {
NavigationView {
List(selection: $selection) {
Section {
ForEach(self.firstSectionData) { rowData in
MainMenuRowView(rowData: rowData)
}
.onMove(perform: { indices, newOffset in
self.groupData.rowsGroup[0].move(fromOffsets: indices, toOffset: newOffset)
})
}
.listRowInsets(EdgeInsets(top: 0, leading: 0, bottom: 0, trailing: 0))
}
}
我尝试下面的代码及其工作
List(selection: $selection) {
if self.isEditMode {
Section {
ForEach(self.firstSectionData) { rowData in
MainMenuRowView(rowData: rowData, isEditMode: self.isEditMode)
}
.onMove(perform: { indices, newOffset in
self.groupData.rowsGroup[0].move(fromOffsets: indices, toOffset: newOffset)
})
}
.listRowInsets(EdgeInsets(top: 0, leading: 0, bottom: 0, trailing: 16))
}