我试图在SwiftUI中有条件地隐藏一个DatePicker
。然而,我遇到了类型不匹配的问题:
var datePicker = DatePicker($datePickerDate)
if self.showDatePicker {
datePicker = datePicker.hidden()
}
在这种情况下,datePicker
是一个 DatePicker<EmptyView>
类型,但是 datePicker.hidden()
是一个 _ModifiedContent<DatePicker<EmptyView>, _HiddenModifier>
。因此我不能将 datePicker.hidden()
赋值给 datePicker
。我尝试了各种变化,但好像找不到可行的方法。有什么想法吗?更新:
您可以使用其
content
属性取消包装 _ModifiedContent
类型以获取基础类型。 但是,这并没有解决潜在的问题。 content
属性似乎只是原始的、未修改的日期选择器。
.hidden()
也可以实现这一点,但是必须使用if else条件语句和.hidden()
一起使用以保留空间,这似乎不是最优解。 - Mark Moeykens