mirror of
https://github.com/ivanvorobei/SwiftUI.git
synced 2026-03-24 10:21:28 +01:00
Add examples project
This commit is contained in:
38
Examples/Example To-Do App/SwiftUITodo/TaskListView.swift
Executable file
38
Examples/Example To-Do App/SwiftUITodo/TaskListView.swift
Executable file
@@ -0,0 +1,38 @@
|
||||
//
|
||||
// TaskListView.swift
|
||||
// SwiftUITodo
|
||||
//
|
||||
// Created by Suyeol Jeon on 03/06/2019.
|
||||
// Copyright © 2019 Suyeol Jeon. All rights reserved.
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
|
||||
struct TaskListView: View {
|
||||
@EnvironmentObject var userData: UserData
|
||||
@State var draftTitle: String = ""
|
||||
@State var isEditing: Bool = false
|
||||
|
||||
var body: some View {
|
||||
List {
|
||||
TextField($draftTitle, placeholder: Text("Create a New Task..."), onCommit: self.createTask)
|
||||
ForEach(self.userData.tasks) { task in
|
||||
TaskItemView(task: task, isEditing: self.$isEditing)
|
||||
}
|
||||
}
|
||||
.navigationBarItem(title: Text("Tasks 👀"))
|
||||
.navigationBarItems(trailing: Button(action: { self.isEditing.toggle() }) {
|
||||
if !self.isEditing {
|
||||
Text("Edit")
|
||||
} else {
|
||||
Text("Done").bold()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
private func createTask() {
|
||||
let newTask = Task(title: self.draftTitle, isDone: false)
|
||||
self.userData.tasks.insert(newTask, at: 0)
|
||||
self.draftTitle = ""
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user