【发布时间】:2022-01-23 20:17:32
【问题描述】:
我有一个由三个 swiftUI 选择器(两个 DatePickers 和一个标准字符串选择器)组成的 swiftUI 表单。当字符串 Picker 的值发生变化时,我正在尝试更改第二个 DatePicker 的选定值。
我在字符串 Picker 上使用 .onChange 来更新基础值,这工作正常(我添加了一个文本行来显示到期日期值,以便可以验证更改)。但是,我希望到期日选择器在绑定值更改时更新它显示的日期。
*下面屏幕截图中的值是最初设置的值。
struct FormWithPicker: View {
@StateObject var formValues = FormValues()
var body: some View {
NavigationView {
Form{
// invoice date
DatePicker("Invoice Date:", selection: $formValues.invoiceDate, displayedComponents: [.date])
// terms
Picker("Terms:", selection: $formValues.invoiceTerms) {
ForEach(formValues.terms, id: \.self) { term in
Text(term)
}
}
.onChange(of: formValues.invoiceTerms, perform: { _ in
formValues.incrementDueDate()
})
// due date
DatePicker("Due Date:", selection: $formValues.dueDate, displayedComponents: [.date])
// text
Text(formValues.dueDate.description)
}
}
}
}
【问题讨论】:
-
如果没有Minimal Reproducible Example,就无法帮助您进行故障排除。它们有什么关系?
标签: swiftui datepicker