绑定可选项>>

问题描述 投票:1回答:1

我得到了一个可选的日期,并且希望能够显示日期选择器。

import SwiftUI


struct ContentView: View {
    @State var someDate: Date?

    var body: some View {
        OptionalDate(date: $someDate)
    }
}

struct OptionalDate: View {
    @Binding var date: Date?

    var body: some View {

        if date == nil {
            return Text("No date").onTapGesture {
                self.date = Date()   // start picking!
            }
        } else {
            return DatePicker(selection: $date, displayedComponents: .date) {
                Text("Due Date")
            }
        }
    }
}

Cannot convert value of type 'Binding<Date?>' to expected argument type 'Binding<Date>'

更不用说我将不得不找出不透明的视图...

我有一个可选的日期,我希望能够显示它的日期选择器。导入SwiftUI结构ContentView:视图{@State var someDate:日期? var body:some View {...

ios swift swiftui
1个回答
1
投票

自定义绑定是您的朋友!另外,对于条件视图,您始终可以使用Group,这将使您的生活更加轻松,并且可以解决Opaque问题,因为无论子视图如何,它都将始终被视为Group

© www.soinside.com 2019 - 2024. All rights reserved.