У меня есть список, показывающий изображения продукта и некоторую базовую c информацию.
Когда пользователь нажимает на конкретное изображение продукта, он фактически отображает контекстное меню для таких действий, как «сохранить изображение» и т.д. c.
Ниже приведен упрощенный пример кода для того, что у меня есть.
Image("imageofProduct1")
.contextMenu {
Button("Save", action: {
// Proceed with save function for Product 1
})
}
Поскольку у меня могут быть изображения продуктов в разных частях приложения. Есть ли способ для меня создать универсальное c ContextMenu, где оно будет отображать то же действие «сохранить», но также может принять имя интересующего изображения.
В настоящее время я могу Переместите контекстное меню в следующее:
func ContextMenuContent() -> some View {
return Button("Save") {
// Save function of the image
}
}
В основной части я могу отобразить то же контекстное меню:
Image("imageofProduct1")
.contextMenu(menuItems: ContextMenuContent)
Если я хочу переместить функцию ContextMenu в отдельный файл. Для инкапсуляции, могу ли я как-то передать имя изображения, чтобы функция сохранения изображения выполнялась на основе имени предоставленного изображения?