我有一個帶有@FocusState
變數的父視圖,我想將其傳遞給包含TextField
. 我希望能夠FocusState
從子視圖中更改,但我收到錯誤Cannot assign to property: 'self' is immutable
和Cannot assign value of type 'Bool' to type 'FocusState<Bool>.Binding'
.
父視圖:
struct ParentView: View {
@State private var text: String
@FocusState private var isEditing: Bool
var body: some View {
ChildView($text, $isEditing)
}
}
struct ChildView: View {
@Binding var text: String
var isEditing: FocusState<Bool>.Binding
init(_ text: Binding<String>, _ isEditing: FocusState<Bool>.Binding) {
self._text = text
self.isEditing = isEditing
}
var body: some View {
TextField("Username", text: $text)
.focused(isEditing)
Button("Click me!") {
isEditing = false // Error here
}
}
}
非常感謝!
uj5u.com熱心網友回復:
只需通過系結分配給包裝值,例如
Button("Click me!") {
isEditing.wrappedValue = false // << here !!
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/334700.html
上一篇:導航到子類別并在URL中保留路徑