Добавление элементов
Часть раздела Введение в SwiftUI путешествия по Swift на Coddy. Урок 32 из 50.
Храните элементы в @State, и список будет обновляться при каждом изменении массива. Для добавления элементов достаточно текстового поля и кнопки:
@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) добавляет введённый текст в массив, а newItem = "" очищает поле для следующего элемента. Поскольку items — это состояние, список сразу показывает новую строку.
Кнопку можно отключить, пока поле пусто: .disabled(newItem.isEmpty).
Задание
СреднеСделайте так, чтобы кнопка Add работала: добавьте newItem в items, а затем очистите поле. Список уже отображает items.
Попробуйте сами
import SwiftUI
@main
struct CoddyApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Введение в SwiftUI
10Проект — Coddy Coffee
Обзор проектаЭкраны напитков2Отображение содержимого
Текстовые представленияЧисла в текстеШрифтыЦветаSF SymbolsПовторение — ценник5Состояние и кнопки
КнопкиСвойство @StateСостояние «истина или ложь»Условные представленияПовторение — счётчик очков6Ввод данных пользователем
Текстовое полеПереключательСчётчик и ползунокВыборПовторение — форма заказаПотренируйтесь самостоятельно: Песочница Swift