我有一个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
初始化方法来确保日期在将来?