概要
-
TextFieldの機能を備えたAlertを実現する
やること
- 通常の
.alertモディファイアを用意しておく(.alert周りはやることが変わらないので説明を割愛) - 入力された値を保持するための
@State Boolを用意しておく。 -
TextFieldを用いて変数の中に入力値を保持しておく。 - オブジェクトの更新処理をプライマリの中で発火させる。
コード
.alert("", isPresented: $showAlert) {
TextField("更新された値を入力", text: $editedText)
Button("更新") {
// オブジェクトの値を更新する処理(省略)
showAlert = false
}
Button("キャンセル", role: .cancel) {
showAlert = false
}
} message: {
Text("更新してください。")
}
}