繁体   English   中英

在 SwiftUI `DatePicker` 中点击日期时如何捕获?

[英]How do I capture when a date is tapped in SwiftUI `DatePicker`?

我想在用户从 DatePicker 中选择新日期时发送网络请求。 我如何捕获该事件?

onChange在 iOS 14 上执行此操作。仍然没有找到 iOS 13

在此处输入图片说明

SwiftUI 2

您可以使用onChange

struct ContentView: View {
    @State var selectedDate = Date()
    
    var body: some View {
        Form {
            DatePicker("Date", selection: $selectedDate)
                .onChange(of: selectedDate) {
                    print($0)
                }
        }
    }
}

SwiftUI 1

使用onReceive代替:

import Combine
import SwiftUI

struct ContentView: View {
    @State var selectedDate = Date()
    
    var body: some View {
        Form {
            DatePicker("Date", selection: $selectedDate)
                .onReceive(Just(selectedDate)) {
                    print($0)
                }
        }
    }
}

请注意,在初始化视图时也会触发onReceive

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM