Thêm phần tử
Thuộc phần Giới thiệu về SwiftUI trong hành trình Swift của Coddy. Bài học 32 trên 50.
Lưu trữ các mục trong @State để danh sách tự cập nhật mỗi khi mảng thay đổi. Chỉ cần một trường văn bản và một nút để thêm mục:
@State private var items = ["Milk"]
@State private var newItem = ""
var body: some View {
VStack {
TextField("New item", text: $newItem)
Button("Add") {
items.append(newItem)
newItem = ""
}
List(items, id: \.self) { item in
Text(item)
}
}
}items.append(newItem) thêm văn bản bạn đã nhập vào mảng, còn newItem = "" xóa nội dung trong trường để bạn nhập mục tiếp theo. Vì items là trạng thái, danh sách hiển thị ngay hàng mới.
Bạn có thể vô hiệu hóa nút khi trường còn trống: .disabled(newItem.isEmpty).
Thử thách
Trung bìnhHãy làm cho nút Add hoạt động: thêm newItem vào items, sau đó xóa nội dung trong trường nhập liệu. Danh sách đã hiển thị items.
Tự làm thử
import SwiftUI
@main
struct CoddyApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Giới thiệu về SwiftUI
Tự luyện tập: Playground SwiftUI