在视图更新期间SwiftUI DatePicker修改状态

时间:2020-03-19 01:10:43

标签: datepicker

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

0 个答案:

没有答案