【发布时间】:2020-07-21 10:37:23
【问题描述】:
我正在使用 SwiftUI 开发一个项目。我想创建类似的东西,
我目前使用的代码:
TaskListView
struct TaskListView: View {
var tasks: [Task] = Task.all()
var body: some View {
List {
ForEach(self.tasks) {task in
TaskView(task: task)
}
}
}
}
TaskView
struct TaskView: View {
@ObservedObject var task: Task
var body: some View {
VStack {
Text(task.name)
.font(.custom("Avenir Next Regular", size: 14))
//Here.................
if !task.subtasks.isEmpty {
Section {
ForEach(task.subtasks) {subtask in
TDTaskView(task: subtask)
}
}.padding(.leading)
}
}
}
}
Task 型号:
class Task: Identifiable, ObservableObject {
var id: UUID = UUID()
var name: String
@Published var isCompleted: Bool = false
var subtasks = [Task]()
init(name: String, isCompleted: Bool = false, subtasks: [Task] = [Task]()) {
self.name = name
self.isCompleted = isCompleted
self.subtasks = subtasks
}
}
我尝试实现嵌套List 的方式现在可以在选择上正常工作。我是不是执行错了?
【问题讨论】:
-
您需要使用部分。这个SwiftUI - nested list 会很有帮助。
-
我已经试过了。但问题是我不知道嵌套级别。在链接示例中,它只是 2 级嵌套。
标签: ios swift swiftui swiftui-list