Open2
SwiftUIでTextfieldをクリアできなくなった
問題
以下のようなコードでフィールドをクリアできるはずだが、おそらく日本語入力関係のバグでクリアされない時がある(投稿日時点、iOS 18, Xcode 16)。
@State private var text: String = ""
let prompt: String = "..."
...
TextField(prompt, text: $text)
.onSubmit {
text = ""
}
Workaround
クリアする前にちょっといじる。
...
.onSubmit {
+ text = text + " "
text = ""
}
いや、上手くいったと思ったけどこれだと解決してないな