---
title: "actionSheet(item:content:)"
framework: swiftui
role: symbol
role_heading: Instance Method
path: "swiftui/view/actionsheet(item:content:)"
---

# actionSheet(item:content:)

Presents an action sheet using the given item as a data source for the sheet’s content.

## Declaration

```swift
nonisolated func actionSheet<T>(item: Binding<T?>, content: (T) -> ActionSheet) -> some View where T : Identifiable

```

## Parameters

- `item`: A binding to an optional source of truth for the action sheet. When item is non-nil, the system passes the contents to the modifier’s closure. You use this content to populate the fields of an action sheet that you create that the system displays to the user. If item changes, the system dismisses the currently displayed action sheet and replaces it with a new one using the same process.
- `content`: A closure returning the doc://com.apple.SwiftUI/documentation/SwiftUI/ActionSheet you create.

## Discussion

Discussion Use this method when you need to populate the fields of an action sheet with content from a data source. The example below shows a custom data source, FileDetails, that provides data to populate the action sheet: struct FileDetails: Identifiable {     var id: String { name }     let name: String     let fileType: UTType } struct ConfirmFileImport: View {     @State private var sheetDetail: FileDetails?     var body: some View {         Button("Show Action Sheet") {             sheetDetail = FileDetails(name: "MyImageFile.png",                                       fileType: .png)         }         .actionSheet(item: $sheetDetail) { detail in             ActionSheet(                 title: Text("File Import"),                 message: Text("""                          Import \(detail.name)?                          File Type: \(detail.fileType.description)                          """),                 buttons: [                     .destructive(Text("Import"),                                  action: importFile),                     .cancel()                 ])         }     }

func importFile() {         // Handle import action.     } }

## See Also

### View presentation modifiers

- [actionSheet(isPresented:content:)](swiftui/view/actionsheet(ispresented:content:).md)
- [alert(isPresented:content:)](swiftui/view/alert(ispresented:content:).md)
- [alert(item:content:)](swiftui/view/alert(item:content:).md)
