簡體   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