删除列表中的整个部分

问题描述

我正在创建一个一个部分组成的列表,我为每个部分创建这些嵌套行。我希望能够在向左滑动时删除嵌套行和节行。但是,我只能在嵌套行上向左滑动,而不能在部分上滑动。这可能吗?

        List {
            ForEach(self.items) { headerItem in
                Section(header: HeaderView(item: headerItem).onTapGesture {
                },footer: EmptyView()) {
                    ForEach(headerItem.versions) { version in
                        SubHeaderView(version: version)
                        .onTapGesture {
                        }
                    }
                }
            }.onDelete(perform: { indexSet in
                print("TEST DELETE1")
            })
        }

Swipe left example

解决方法

您不能使用内置 API。但是您可以将其添加到您的 HeaderView - 将删除按钮放在 HeaderView 视图下的 ZStack 中,并使用拖动 GestureRecognizer 来修改该视图的偏移量。