У меня есть SwiftUI View
, который содержит DatePicker
в своем свойстве body
:
struct EventEntryView: View {
@State private var eventDate = Date()
var body: some View {
NavigationView {
Form {
DatePicker(selection: $eventDate, displayedComponents: .date) {
Text("Event Date")
}
}
}
}
}
Приведенный выше код позволяет мне использовать DatePicker
, но я могу выбирать даты в прошлом, которые я не хочу; Я хочу ограничить даты датами в будущем. Итак, я добавил параметр in:
в инициализатор DatePicker
:
DatePicker(selection: $eventDate, in: Date()..., displayedComponents: .date) {
Text("Event Date")
}
При использовании кода выше, DatePicker
возвращается к начальной дате после вращения его компоненты. Кроме того, на консоль выводится следующее предупреждение:
[SwiftUI] Modifying state during view update, this will cause undefined behavior.
Что я делаю неправильно, что мешает мне использовать инициализатор DatePicker
, который обеспечивает дату в будущем?