如何使用单独文件中的表单部分?

How to use form sections from separate file?

今年早些时候,我使用 SwiftUI 创建了一个应用程序。当 运行 in iOS 时,此应用程序的一部分已损坏 14. 我有一个创建和编辑表单,目标是重用它们共有的部分。以前它可以将这些部分放在 Group 中,因为 iOS 14 失败并将所有部分放入单个视图中。

目前实现方式与此类似:

struct CreateForm: View {
    var body: some View {
        Form {
            Section {
                Text("First section")
            }
            OtherSections()
        }
    }
}

struct OtherSections: View {
    var body: some View {
        Group { // <--- This is causing the issue
            Section {
                Text("First Detail Section")
            }

            // In real implementation there are some conditional sections
            if false {
                Section {
                    Text("Second Detail Section")
                }
            }
        }
    }
}

关于如何解决这个问题有什么建议吗?

尝试使用 @ViewBuilder 而不是 Group:

struct OtherSections: View {
    @ViewBuilder
    var body: some View {
        Section {
            Text("First Detail Section")
        }

        // In real implementation there are some conditional sections
        if false {
            Section {
                Text("Second Detail Section")
            }
        }
    }
}

(还要确保 OtherSections 符合 View