Joh*_*ohn 1 datepicker swiftui
我需要对 进行初步选择MultiDatePicker。我尝试将其分配给您,init如您在下面和中看到的那样onAppear。在这两种情况下,取消选择初始选择都不起作用,它始终保留在 中dates。如何解决这个问题?
import SwiftUI
struct ContentView: View {
@State private var dates: Set<DateComponents>
init() {
let now = Calendar.current.dateComponents([.year, .month, .day], from: .now)
_dates = State(initialValue: [now])
}
var body: some View {
VStack {
MultiDatePicker("", selection: $dates)
.onChange(of: dates) {_ in
print("Selection changed")
}
Text(datesStr)
}.padding()
}
var datesStr: String {
dates
.map{ Calendar.current.date(from: $0)!.formatted(date: .numeric, time: .omitted) }
.joined(separator: "\n")
}
}
Run Code Online (Sandbox Code Playgroud)
顺便说一句,这句话也有同样的问题(这不能满足我的需求,因为它不是动态的):
@State private var dates: Set<DateComponents> = [Calendar.current.dateComponents([.year, .month, .day], from: .now)]
Run Code Online (Sandbox Code Playgroud)
在 Xcode 14.0.1 和 14.1 beta 3 中测试。
只需使用[.calendar, .era, .year, .month, .day]而不是[.year, .month, .day]. 这就是所期望的DateComponents格式MultiDatePicker。
我在想知道为什么相同的内容DateComponents可以出现两次后才找到这个解决方案Set(正如您所知,它只允许唯一的元素)。嗯,它们并不完全相同。
| 归档时间: |
|
| 查看次数: |
491 次 |
| 最近记录: |