微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 SwiftUI 中的 ForEach 中使用 Section 项执行 onDelete

如何解决如何在 SwiftUI 中的 ForEach 中使用 Section 项执行 onDelete

一个全新的项目中,我有这个代码用于测试:

extension Int: Identifiable {
    
    public var id: UUID { UUID() }
}

struct ContentView: View {
    
    let data: [Int] = [1,2,3,4,5]
    
    var body: some View {
        List {
            ForEach(data) {
                Section(header: Text("\($0)")) {
                    ForEach(data) {
                        Text("\($0)")
                    }.onDelete(perform: { indexSet in
                        print("Delete \(indexSet)")
                    })
                }
            }
        }
    }
}

在这种情况下,没有滑动删除之类的操作。认情况下,您可以在将 onDelete 键入 ForEach 后立即滑动并查看删除按钮。但是当您将 Section 放在 ForEach 中时,这不会发生。 当我删除部分时它会出现。即使我在 ForEach 中有 ForEach,它仍然有效。但里面没有 Section - 为什么?

Xcode 12.4 斯威夫特 5

解决方法

您只需要提供一个数组数组,其中包含每个部分的行:

@RepositoryRestResource
public interface UserRepository extends JpaRepository<User,Long>,JpaSpecificationExecutor<User> { }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。