У меня есть вид элемента списка, который отображает некоторые новостные карточки в навигационной ссылке.
Я должен добавить кнопку «Нравится / Не нравится» в каждой новостной карточке навигационной ссылки, не переходя в NavigationLink.destination страница.
Кажется, маленькая кнопка внутри большой кнопки. Когда вы щелкнете по этой маленькой, выполните маленькую, не выполняя большую. (примечание: область щелчка покрыта двумя кнопками, меньшая имеет приоритет) (В javascript это выглядит как нечто .stopPropaganda)
Это мой код:
var body: some View {
NavigationView {
List {
ForEach(self.newsData.newsList, id:\.self) { articleID in
NavigationLink(destination: NewsDetail(articleID: articleID)) {
HStack {
Text(newsTitle)
Button(action: {
self.news.isBookmarked.toggle()
}) {
if self.news.isBookmarked {
Image(systemName: "bookmark.fill")
} else {
Image(systemName: "bookmark")
}
}
}
}
}
}
}
}
В настоящее время действие кнопки (нравится / не нравится) не будет выполняться, поскольку при каждом нажатии кнопки навигационная ссылка переводит вас в окно назначения. Я пытался почти такой же вопрос , но он не может решить эту проблему.
Есть ли способ, который делает это возможным?
Спасибо.