是否可以在SwiftUI中动态添加滑动动作?



这个问题很简单。我从API接收包含属性actions的实体,我需要将它们显示在一个列表中,并相应地使用动作作为滑动动作。

问题是我没有找到如何在swipeActions修饰器中迭代动作的方法。

我试过这样做:

List {
ForEach(entities) { entity in
CustomCell(entity: entity)
.swipeActions(edge: .trailing) {
for action in entity.actions {
Button(action: {}) {
Label(action.title)
}
}
}
}
}

不工作

有可能解决吗?

假设action类型是Identifiable(如果不是那么确认),它可以用ForEach完成,因为swipeActions期望视图,所以它可以像

List {
ForEach(entities) { entity in
CustomCell(entity: entity)
.swipeActions(edge: .trailing) {
ForEach(entity.actions) { action in    // << here !!
Button(action: {}) {
Label(action.title)
}
}
}
}
}

最新更新