【发布时间】:2020-08-08 12:12:27
【问题描述】:
我有一个如下所示的 SwiftUI 列表:
List {
ForEach(items) { item in
NavigationLink(destination: EditItemView(item: item)) {
ItemView(item: item, buttonAction: {
// Do something
})
}
}
ItemView 在哪里:
struct ItemView: View {
var item: Item
let buttonAction: () -> Void
var body: some View {
HStack(alignment: .center) {
Text(item.tile)
.font(.headline)
Spacer()
Button(action: buttonAction,
label: {
Image(systemName: "plus.circle")
})
.padding(.horizontal)
}
}
}
但是,每当我点击按钮时,它不会执行按钮操作,而是转到导航链接操作 EditItemView。
那么如何让按钮在导航链接中执行操作?
或者,如果这不可能,我怎样才能让点击项目视图执行一项操作而点击按钮执行另一项操作?
【问题讨论】:
标签: swift swiftui swiftui-list swiftui-navigationlink swiftui-button