本記事では確認ダイアログを表示する際に、独自で準備したデータを使用する方法を紹介します。
確認ダイアログの基本的な使用方法は以下のページを参照してください。
サンプルコード
import SwiftUI
struct ConfirmationSmp: View {
@State private var showingConfirmation = false
@State private var dialogDetail: ConfirmDetails?
var body: some View {
Button("Show Confirmation") {
showingConfirmation = true
dialogDetail = ConfirmDetails(
name: "Confirm Name", detail: "Tap Button")
}
.confirmationDialog(
Text("Delete Item"),
isPresented: $showingConfirmation, presenting: dialogDetail
) { detail in
Button(detail.name) {
// detail action
print(detail.detail)
}
Button("キャンセル", role: .cancel) {
// cancel action
}
}
}
}
struct ConfirmDetails: Identifiable {
let id = UUID()
let name: String
let detail: String
}
ConfirmDetailsとしてstructを定義してpresentingに渡すことで使用可能です。
Show Confirmationボタンをタップ時にあらかじめ格納しておいたボタン名称(”Confirm Name”)を表示させています。
そして、確認ダイアログにおいて、”Confilm Name”ボタンをタップすると、事前に格納しておいた”Tap Button”がコンソールに表示されます。
まとめ
このように確認ダイアログに独自で定義したデータを受け渡して活用することも可能です。


